本题是最基本的分段树操作了。或者一般叫线段树,不过好像和线段没什么关系,只是分段了。
不使用lazy标志,更新只是更新单点。
如果不使用分段树,那么更新时间效率只需要O(1),使用分段树更新效率就需要O(lgn)了。
但是不是用分段树,那么查询的时间效率是O(n),而分段树查询效率是O(lgn)
这就是amortize分摊了时间,而且lgn真的很快,数据不是非常巨大的时候,接近常数了。
故...
分类:
其他好文 时间:
2014-06-20 12:41:05
阅读次数:
206
链接: http://acm.hrbust.edu.cn/index.php?m=ProblemSet&a=showProblem&problem_id=1808
Description
小胖子最近喜欢上了画画,但是他的画画技术很差,只能从零开始,小胖子在一条线上画了很多彩色的球,但是觉得不好看,就想修改。
小胖子站在画前想了又想,他有时会将一些连续的点涂成相同的颜色。但他感觉累...
分类:
其他好文 时间:
2014-06-20 11:13:08
阅读次数:
255
这么炫酷的数据结构简直飘逸到不行,竟然在这么狂躁的状态下过了一遍基础题型,略浪费。
强项:在一维的情况下可以完成区间查询,更新,翻转,子区间的增删,确定前驱后即,总是一句话线段树能做的它就能做,线段树不太好做的他也能很方便的实现。
弱项:没有办法向更高维度扩展(反正本渣没有想出来),这也是一个局限吧。代码太长. . . . . 太致命了。
伸展操作:核心操作,通过一系列的旋转将某个节点旋...
分类:
其他好文 时间:
2014-06-07 12:53:50
阅读次数:
210
这难度,简直爽到不行。
前五种操作就不多说了,基础到不能再基础。
第六种操作求最大连续子段和,有点像线段树,没有思路的建议先看一下POJ2750。
代码9000+,挫到荼靡。。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(...
分类:
其他好文 时间:
2014-06-07 12:15:23
阅读次数:
224
线段树。段区间,终于完全自己A掉的。 1 #include 2 #include 3 4
#define MAXN 100005 5 #define lson l, mid, rt>1);20 sums[rt>1));21
adds[rt] = 0;22 ...
分类:
其他好文 时间:
2014-06-06 23:32:27
阅读次数:
279
题目要求求某段区间第一个没有出现的数(0,1,2,3.。。。)
,对于所有的区间,我们把这样的数加起来最后得到一个结果。首先,我们要求出这样的数,然后还得列举出所有的区间,复杂度太大了。换种思路,我们定住L,是不是一次性能求出所有的R所得出的结果,这就用到线段树的性质了,因为在移动L的过程中,移一步...
分类:
其他好文 时间:
2014-06-06 19:31:52
阅读次数:
292
很早以前做过这题,早就没印象了,估计当时也是照着某大神的代码抄过的,现在是连题意都看了好长时间。刚开始的S集合是空集,给你一些操作和一个T集合,把操作的结果再赋给S集合。解法:因为会有开区间和闭区间,对于一个值我拆成了两个点
比如 1,2,3, 表示的区间为[1,2] 把两个端点值分别设为2个点,把...
分类:
其他好文 时间:
2014-06-06 16:39:46
阅读次数:
268
裸的线段树求区间的最大值。 1 #include 2 #include 3 using
namespace std; 4 5 #define MAXN 262144 6 7 int _v[MAXN > 1;23 build(lso),
build(rso);24 ...
分类:
其他好文 时间:
2014-06-06 15:44:06
阅读次数:
222
线段树,题目感觉比较难,看别人思路做的。还得继续练这个专题。 1 #include 2
#include 3 #include 4 using namespace std; 5 6 #define MAXN 100005 7 #define
lson l, mid, rtb) ...
分类:
其他好文 时间:
2014-06-06 14:22:09
阅读次数:
240
求环上的逆序对最小值,这题据说应该是用线段树去做,我先拍了一个裸的,总复杂度O(N2): 1
#include 2 #include 3 using namespace std; 4 5 #define MAXN 5000 6 7 int N; 8
int A[MAXN], sorte...
分类:
其他好文 时间:
2014-06-06 13:13:01
阅读次数:
200