题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 第一次做线段树,帆哥的一句话,我记下来了,其实,线段树就是一种处理数据查询和更新的手段。 然后,我的代码风格,是网上的大牛们的辛苦总结,我就套用了。这里,我还是简单说一下线段树,说的不好,主要方便 ...
分类:
其他好文 时间:
2016-07-30 19:38:47
阅读次数:
125
树链剖分的详解这里写得很好。我的标程与它的做法一样。
树链剖分的作用相当于在树上做线段树。
模板题
【ZJOI2008】树的统计
在一颗树上,区间查询,单点修改。
I. CHANGE u t : 把结点u的权值改为t
II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值
III. QSUM u v: 询问从点u到点v的路径上的节点的权值和...
分类:
其他好文 时间:
2016-05-07 11:20:16
阅读次数:
225
1.单点更新,区间求和,例题:HDU 1166 1 #include<stdio.h> 2 #include<string.h> 3 #define lson l,mid,rt<<1 4 #define rson mid+1,r,rt<<1|1 5 const int N=50000+11; 6 i ...
分类:
其他好文 时间:
2016-04-09 18:33:28
阅读次数:
152
题目大意:Codeforces 444C DZY Loves Colors 题目大意:两种操作,1是改动区间上l到r上面德值为x,2是询问l到r区间总的改动值。 解题思路:线段树模板题。 #include <cstdio> #include <cstring> #include <cstdlib> ...
分类:
其他好文 时间:
2016-04-01 09:08:14
阅读次数:
230
【题意】 一段区间初始均为可行。有两个操作: 1→找出长度为w的一段可行区间,如果存在则返回这个可行区间最靠左的情况,并将该区间设为不可行; 2→将区间[a,b]设为可行区间。 【思路】 经典的线段树合并,代码依旧用的是神犇的线段树模板。详见注释。 【错误点】 延迟标记的时候,忘记把cover清为-
分类:
其他好文 时间:
2016-01-31 13:12:08
阅读次数:
205
转载请注明出处:http://blog.csdn.net/u012860063DescriptionYou haveNintegers,A1,A2, ... ,AN. You need to deal with two kinds of operations. One type of operati...
分类:
其他好文 时间:
2016-01-12 18:06:23
阅读次数:
186
初学线段树。 1 #include 2 #include 3 #include 4 #include 5 #define N 100000 6 using namespace std; 7 int n,m,ans; 8 int segtree[N*8],a[N*8]; 9 void addd...
分类:
其他好文 时间:
2016-01-02 20:27:58
阅读次数:
182
1.无成段更新#define lson l , m , rt b)return a;else return b;}int min(int a,int b){if(a> 1; build(lson); build(rson); PushUP(rt);}void update(int ...
分类:
其他好文 时间:
2015-12-09 17:07:16
阅读次数:
171