随笔分类 - 数据结构————树状数组
摘要:gate 二维树状数组,区间修改,区间查询 对于区间$(x,y)$,用差分数组来维护,每次从$(1,1)$加到$(i,j)$ 可以发现,$t[1][1]$被加了$x*y$次,$t[1][2]$被加了$(x-1)*y$次… 那么区间$(x,y)$的和即为 $∑i=(1,x)∑j=(1,y)$ $t[i
阅读全文
摘要:gate 区间修改,单点查询 用差分维护。 因为查询返回了(1,x)的和,所以查询的时候直接查x就可以了。 至于修改,就要在区间开始加上,结尾减去,即(x,k),(y,-k) 代码如下 #include<cstdio> #include<iostream> #include<cmath> #incl
阅读全文
摘要:gate 二维树状数组板子?qwq 注意下标不要从0开始 代码如下 #include<cstdio> #include<iostream> #include<cmath> #include<cstring> #define MogeKo qwq using namespace std; #defin
阅读全文
摘要:cdq(陈丹琦)分治,是一种类似二分的算法。基本思想同分治: 它可以顶替复杂的高级数据结构,但必须离线操作。 N维偏序,就是求N个关键字下的顺/逆序对。cdq分治是这类题中常用的降维手段。 一维偏序 学习归并排序时,我们了解到它的一个特性就是可以用来求逆序对。 Luogu P1908 逆序对 voi
阅读全文

浙公网安备 33010602011771号