A - 敌兵布阵 HDU - 1166 A - 敌兵布阵 HDU - 1166 A - 敌兵布阵 思路:线段树单点修改+区间查询。 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define MA ...
分类:
其他好文 时间:
2018-02-24 10:37:09
阅读次数:
110
二维树状数组模板(区间修改+区间查询) 例题: "JOIOI上帝造题的七分钟" 一共两种操作: $L\ x_1\ y_1\ x_2\ y_2\ d$:把$(x_1,y_1)$,$(x_2,y_2)$这个矩形内所有元素加$d$。 $k\ x_1\ y_1\ x_2\ y_2$:查询$(x_1,y_1) ...
分类:
编程语言 时间:
2018-02-22 19:23:48
阅读次数:
199
1.差分 设有一个数组a[]; 它的差分数组为c[] c[i]=a[i]-a[i-1]; 当区间修改时,下标x到y的值加上k,只需维护差分数组即可 c[x]=a[x]-a[x-1],所以c[x]+=k; c[y+1]=a[y+1]-a[y],所以c[y+1]-=k; 设b数组为c数组的前缀和数组 则 ...
分类:
其他好文 时间:
2018-02-21 21:40:37
阅读次数:
191
题解:树链剖分一下 对线段树每个节点维护双堆,支持插入删除 对于每一条请求,给这个请求没经过的点加入这个值,共logn个区间 查询就是线段树上的单点查询 ...
分类:
其他好文 时间:
2018-02-20 18:21:43
阅读次数:
176
洛谷P3313 大概是一道树链剖分的裸题。可以看出如果不是查询相同宗教的这一点,就和普通的树链剖分毫无两样了。所以针对每一个宗教都单独开一棵线段树,变成单点修改+区间查询。只不过宗教数目很多,空间消耗太大所以只能开一棵总的再动态开点。 ...
分类:
其他好文 时间:
2018-02-20 13:24:51
阅读次数:
244
什么是RMQ? 给予n个数,对于区间[l,r]查询最小、最大值。 这就是RMQ。 怎么做? 我们不妨设f[i][j]表示从i开始的2^j个数极值。 显然,他表示的是[i,i+2^j-1],注意有-1(想想,为什么?) 那么我们不难得到递推式:f[i][j]=min/max(f[i][j-1]+f[i ...
分类:
其他好文 时间:
2018-02-19 10:28:50
阅读次数:
196
https://www.luogu.org/problemnew/show/P3374 单点修改, 区间查询 https://www.luogu.org/problemnew/show/P3368 区间修改, 单点查询 ...
分类:
编程语言 时间:
2018-02-18 21:56:24
阅读次数:
224
思路: 二维树状数组。点修改区间查询转化为区间修改点查询。 http://blog.csdn.net/z309241990/article/details/9615259 http://blog.csdn.net/acm_BaiHuzi/article/details/46819049 实现: ...
分类:
其他好文 时间:
2018-02-16 18:40:30
阅读次数:
192
https://www.luogu.org/problemnew/show/P3870 线段树区间翻转 + 区间查询 ...
分类:
其他好文 时间:
2018-02-10 11:20:43
阅读次数:
156
https://www.luogu.org/problemnew/show/P2184 区间修改时只需修改区间端点的numl或numr值 区间查询x-y只需用1-y的numr - 1-(x - 1)的numl值线段树 单点修改 + 区间查询 ...
分类:
其他好文 时间:
2018-02-07 22:42:27
阅读次数:
217