1、HDU 1556 Color the ball 区间更新,单点查询 2、题意:n个气球,每次给(a,b)区间的气球涂一次色,问最后每个气球各涂了几次。 (1)树状数组 总结:树状数组是一个查询和修改复杂度都为log(n)的数据结构。主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素 ...
分类:
编程语言 时间:
2016-10-28 07:40:34
阅读次数:
262
#1080 : 更为复杂的买卖房屋姿势 #1080 : 更为复杂的买卖房屋姿势 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho都是游戏迷,“模拟都市”是他们非常喜欢的一个游戏,在这个游戏里面他们可以化身上帝模式,买卖房产。 在这个游戏里,会不断的发生如下 ...
分类:
其他好文 时间:
2016-10-18 22:32:00
阅读次数:
161
线段树总结 ——这个周末训练赛和codeforces,加上自己有点偷懒导致进度严重推迟 线段树,顾名思义是在树上的线段,通过建树来维护你需要的操作,基本的操作有:区间求和,区间求最值,区间异或(这个实际上和区间更新差不多,就是加上值这个操作换成了异或),区间覆盖,扫描线求面积,线段树求区间连续字段。 ...
分类:
其他好文 时间:
2016-10-18 02:39:32
阅读次数:
269
这是一道关于线段树的区间开根号的裸题,没什么好讲的。 值得注意的是,因为有区间开根号的性质,所以我们每一次更改操作只能把更改区间所覆盖的所有元素全部查找,当然你直接找效率明显爆炸。。。 能够注意到,指数级别的操作一次更改的数字都很大,而题目的数字最大是10的9次,所以可以注意到的是当一个区间更新6遍 ...
分类:
其他好文 时间:
2016-10-14 07:23:27
阅读次数:
141
两个更新操作,一个将第i条路径权值改为w,一个是将a-b之间所有路径权值取反。 一个查询操作,求a-b之间路径中权值最大的边。 很容易想到维护一个最大最小值,取反就是把最大最小取反交换一下。 开始遇到一个问题就是我把根节点赋值0,上一道题求和没问题,但是这道题会出问题,于是线段树建树的时候从2开始建 ...
分类:
其他好文 时间:
2016-10-01 16:54:45
阅读次数:
167
A Simple Problem with Integers Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 97722 Accepted: 30543 Case Time Limit: 2000MS Description Y ...
分类:
其他好文 时间:
2016-09-30 23:49:35
阅读次数:
247
题目链接:传送门 题目大意:中文题,略 题目思路:树链剖分,区间更新,区间查询。 闲谈: 只想说这道题做的好苦逼。。去长春现场赛之前就没A,回来后又做了2天才A掉,蒟蒻太菜了 这道题也没有想象中那么难,就是代码有点长。。 在查询的时候注意判断端点交界处如果相同则答案-1。 ...
分类:
其他好文 时间:
2016-09-30 21:12:45
阅读次数:
144
树状数组 数据结构知识点1-树状数组 树状数组的用途就是维护一个数组,重点不是这个数组,而是要维护的东西,最常用的求区间和问题,单点更新。但是某些大牛YY出很多神奇的东西,完成部分线段树能完成的功能,比如区间更新,区间求最值问题。 树状数组当然是跟树有关了,但是这个树是怎么构建的呐?这里就不得不感叹 ...
分类:
编程语言 时间:
2016-09-30 00:45:03
阅读次数:
241
题意:给你n盘歌碟按照(1....n)从上到下放,接着m个询问,每一次拿出x碟,输出x上方有多少碟并将此碟放到开头 直接想其实就是一线段的区间更新,单点求值,但是根据题意我们可以这样想 首先我们倒着存 n--1,接着每次询问时把放碟子放到最后,这样我们要开一个映射数组映射每个碟子在哪个位置 其中我们 ...
分类:
编程语言 时间:
2016-09-27 01:50:10
阅读次数:
171