题目大意:有一个m*n的方格,每一个格子有他自己的权值。2种操作:
1.改变一个格子的权值。
2.查询所有的x1...
分类:
Web程序 时间:
2014-10-01 14:50:21
阅读次数:
319
HDU Aragorn's Story
题目链接
树抛入门裸题,这题是区间修改单点查询,于是套树状数组就OK了
代码:
#include
#include
#include
#include
using namespace std;
const int N = 50005;
inline int lowbit(int x) {return x&(-x);}
i...
分类:
其他好文 时间:
2014-09-30 14:37:49
阅读次数:
199
题目大意:维护一个序列,提供三种操作:
1.将区间中每一个点的权值乘上一个数
2.将区间中每一个点的权值加上一个数
3.求一段区间的和对p取模的值
2631的超^n级弱化版,写2631之前可以拿这个练练手。。。
线段树区间修改,让学校的大神指导了一下ZKW的区间修改方法,很好理解,但是代码还是快不了。。。回头再改改代码吧 可能是我写的太渣了
#include
#include
#inc...
分类:
其他好文 时间:
2014-09-28 16:13:02
阅读次数:
184
Problem Description
Corrupt governors always find ways to get dirty money. Paint something, then sell the worthless painting at a high price to someone who wants to bribe him/her on an auction, this ...
分类:
其他好文 时间:
2014-09-20 22:56:29
阅读次数:
258
需要离散化处理,线段树的区间修改问题。
需要注意的就是离散化的时候,由于给的数字是一段单位长度,所以需要特殊处理(因为线段的覆盖和点的覆盖是不一样的)
比如:(1,10)(1,4) (6,10)
离散化之后是 1 , 4 , 6 , 10 分别离散为 1 2 3 4
覆盖的时候先覆盖1 4 之后覆盖了1 2 之后覆盖了 2 3,结果为2
但是实际上应该是3
134503...
分类:
其他好文 时间:
2014-09-17 16:52:37
阅读次数:
161
线段树模板题,练的是懒惰标记。
懒惰标记,就是更新一段区间的时候,如果小区间被包含在了所需要更新的区间里面,那么直接对代表这个区间的数组元素赋值,之后做一个标记(表示这个区间的子区间都需要更新)但是不继续递归(这样可以节省很多的时候)。
11657115
2014-09-15 14:17:26
Accepted
1698
796MS
2380K
1750 B
G+...
分类:
其他好文 时间:
2014-09-15 16:04:19
阅读次数:
183
线段树区间修改增加问题,模板题,注意懒惰处理。
13443449
201301052100
3468
Accepted
4308K
1610MS
C++
2362B
2014-09-15 15:46:35
#include
#include
#include
#include
#include
#include
#include
#include...
分类:
其他好文 时间:
2014-09-15 15:56:49
阅读次数:
216
题目链接:点击打开链接
题意:
rt。。
在询问时,两端向上爬时记录从深度浅的到深度深的方向上的 (也就是左最大连续子段和)
最后两个点在同一条重链上时合并。
合并时要注意有4种情况, 详见代码。
线段树部分和5相似。
#include
#include
#include
#include
using namespace std;
inline void rd(int &n)...
分类:
其他好文 时间:
2014-09-02 14:14:54
阅读次数:
235
题解:基础的树状数组区间修改,单点查询。#include #include int c[100005],a,b,n;int modify(int x,int num){while(x0)s+=c[x],x-=x&-x;return s;} //特别注意s初始化为0。 int main(){ w...
分类:
其他好文 时间:
2014-09-01 19:30:33
阅读次数:
184
题目大意:
有一棵树,对这个树有两种操作:1:表示为(1 x val),在编号为x的节点上加上val,然后给x节点的每个儿子加上- val,再给每个儿子的儿子加上-(- val),一直加到没有儿子为止。2:表示为(2 x)查询x节点上的值。
做法:
由于每次修改操作修改的并不是一个值,而是很多值,那我们将该题抽象成区间修改,点查询的问题。那怎么抽象呢?可以明白的是,每次操作虽然有加有减,但是...
分类:
其他好文 时间:
2014-08-31 09:16:01
阅读次数:
235