例1. 给定序列, 2种操作, (1)单点加 (2)区间求和 询问看成二维键值对$(t,x)$, $t$为操作时间, $x$为操作位置, 区间求和转化为两个前缀求和做差, 那么问题就等价于求所有$tt\le t$, $xx\le x$的权值和, 也就是一个二维偏序问题, 时间已经默认有序, 直接对操 ...
分类:
其他好文 时间:
2019-04-13 10:25:17
阅读次数:
111
"Luogu4169" 每次操作加入平面上一个点 , 或者询问离一个点最近的点的距离 CDQ分治模板 $1.$solve(l,mid); $2.$solve(mid+1,r); $3.$计算$[l,mid]$中修改操作对$[mid+1,r]$中查询操作的影响 cpp / [CDQ分治] 天使玩偶 1 ...
分类:
其他好文 时间:
2019-04-03 12:43:34
阅读次数:
180
"$\verb|bzoj1935 [SHOI2007]Tree 园丁的烦恼|$" 静态询问平面点数 $x_i,\ y_i\in[0,\ 10^7],\ n,\ m\leq5\times10^5$ 二维偏序,cdq分治 可以直接 cdq分治,也可以离散化后用 BIT 做、、注意排序时若 $x,\ y$ ...
分类:
其他好文 时间:
2019-04-03 12:18:00
阅读次数:
88
心态崩了,又因为打错了一个字母调了1个半小时 CDQ分治,一维排序,二维分治,三维树状数组 注意去重,以及对答案的处理 树状数组维护值域真方便 ...
分类:
其他好文 时间:
2019-03-22 17:05:41
阅读次数:
117
数据结构 去log技巧 可持久化 离线(CDQ分治/整体二分) 偏序转化技巧 记录上一次出现位置 维护值域 树上DFS序 ...
分类:
其他好文 时间:
2019-03-19 16:36:51
阅读次数:
144
A.求区间第 $k$ 大数 解 整体二分的思想其实和cdq分治有一点相似之处。 具体操作: Code cpp include include define maxn 200003 define INF 1050000000 using namespace std; struct T{ int mo, ...
分类:
其他好文 时间:
2019-03-17 15:38:51
阅读次数:
132
A.三维偏序问题 题意 给你 $n$ 个三元组 $(x_i,y_i,z_i)$ ,求对于每一个 $(x_i,y_i,z_i)$ , $x_j include define maxn 100003 define maxv 100000 using namespace std; template voi ...
分类:
其他好文 时间:
2019-03-17 13:39:23
阅读次数:
153
传送门 二维平面修改+查询,cdq分治可以解决。 求关于某个点曼哈顿距离(x,y坐标)最近的点——dis(A,B) = |Ax-Bx|+|Ay-By| 但是如何去掉绝对值呢? 查看题解发现假设所有的点都在查询点的左下方,dis(A,B) = (Ax-Bx)+(Ay-By) = (Ax+Ay)-(Bx ...
分类:
其他好文 时间:
2019-03-09 23:20:42
阅读次数:
220
传送门:https://www.luogu.org/problemnew/show/P3810 cdq分治的模板题,第一层外部排序,第二层cdq归并排序,这个时候不用考虑第一次的顺序,第三次用树状数组。 注意,不要用memset,用队列保存加上的值,最后在把加上的值减去就行了。 #include ...
分类:
其他好文 时间:
2019-03-02 00:52:30
阅读次数:
156
题意的转化挺巧妙的 可以联想到曼哈顿距离! 并且,所谓的修改还要查询历史版本,并且修改之间不动只算一次,不就是给平面上加一个点吗? 看成(x,a[x])的点 就是一个菱形区域 转切比雪夫距离,变成矩形区域 所以 平面单点加,矩形查询和 1.cdq分治 2.树套树(离散化都不用) 3.二进制分组+主席 ...
分类:
其他好文 时间:
2019-02-24 14:59:53
阅读次数:
190