#include #include #include #include using namespace std; int sum1[1000]; int sum2[1000]; int a[1000]; int n,m; int lowbit(int x){ return x&(-x); } voi... ...
分类:
其他好文 时间:
2019-02-23 01:00:05
阅读次数:
210
非常简单的单点修改+区间加+区间查询。我用的是最近刚学的区间修改版本树状数组。 直接维护即可,注意修改后的单点值已经不是a[i],或者b[i],要通过区间查询求单点。不然是错的。 区间修改版本树状数组: 留坑 :线段树版本: ...
分类:
其他好文 时间:
2019-02-23 00:57:08
阅读次数:
194
"传送门" 这个题好难卡啊。 看到这种题自然会想到字符串hash是不是,但是对于每次操作造成的影响需要$O(n)$的时间去更新,自然是不优的 可以发现这个更新可以用数据结构来维护,对于每个hash值开一颗线段树之类的支持区间修改的数据结构 然后就可以愉快的解决了 注意: 1、hash值请使用map和 ...
分类:
其他好文 时间:
2019-02-18 14:33:57
阅读次数:
167
树状数组 = O(logn) 单点修改 ,O(logn) 区间查询 如果要做到 区间修改 单点查询 我们就要加入差分的思想 用树状数组记录数组的差分 然后对差分进行前缀和就可以得到单点的数据 cpp //ios::sync_with_stdio(false); include define ll l ...
分类:
编程语言 时间:
2019-02-17 22:03:11
阅读次数:
174
这个专题主要学了两个数据结构 一个是线段树 一个是树状数组 线段树主要求区域操作 建树、单点查询、单点修改、区间查询、区间修改。 代码较为复杂 参考模板 树状数组 用于求和效率很高 进阶则为区域修改同一个值十分方便 主要有两种操作: 单点修改 区域查询(基础) 区域查询的差值即为单点查询 也比枚举算 ...
分类:
其他好文 时间:
2019-02-10 00:12:27
阅读次数:
208
字典树:字典树用来储存区域信息 主要有五种操作: 建树、单点查询、单点修改、区间查询、区间修改。 ...
分类:
其他好文 时间:
2019-02-08 13:02:53
阅读次数:
193
题目描述 题解: 考虑到经过一系列变化后小数不可能比大数大,我们可以用线段树维护区间修改。 重点是,每个节点都可以通过$a[i]=a[i]*t1+a0[i]*t2+t3$这个函数来表示,我们就可以把三个标记一起维护。 代码: ...
分类:
Web程序 时间:
2019-02-04 14:16:47
阅读次数:
202
引子 —–摘自PoPoQQQ&&优秀的学姐 『LCT能干嘛』 (1)维护一个序列,支持下列操作: 区间求和 区间求最值 区间修改 求连续子段和 这个线段树就可以解决 具体做法不加累述了 (2)维护一个序列,支持下列操作: 区间求和 区间求最值 区间修改 求连续子段和 添加一段区间 删除一段区间 翻转 ...
分类:
其他好文 时间:
2019-02-03 11:01:09
阅读次数:
171
first: 单点修改,区间查询: second: 区间修改,单点查询: ...
分类:
编程语言 时间:
2019-01-31 20:47:55
阅读次数:
201
模板太多了,写啥更新啥,顺便当自己的存档 码风很乱,见谅 单点修改树状数组 Code</> 区间修改树状数组 Code</> 可持久化线段树(主席树) Code</> ...
分类:
其他好文 时间:
2019-01-30 20:30:53
阅读次数:
138