首先,偏序是什么 一维偏序就是数列中对于每个$x$有多少个$a\leq x$ 二维偏序就是二元组$(x,y)$有多少$(a,b)$满足$a\leq x \wedge b\leq y$ ... 一维偏序可以直接排序 二维偏序联想到逆序对可以给第一位排序第二维数据结构 三维偏序第一维排序第二维cdq分治 ...
分类:
其他好文 时间:
2019-02-15 15:59:49
阅读次数:
157
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1176 [算法] CDQ分治 + 树状数组即可 时间复杂度 : O(Nlog^2N) [代码] ...
分类:
其他好文 时间:
2019-02-10 20:36:42
阅读次数:
174
题目 https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3141 题意 一个1到n的排列,每次随机删除一个,问删除前的逆序数 思路 综合考虑,对每个数点,令v ...
分类:
编程语言 时间:
2019-02-08 13:08:56
阅读次数:
208
整体二分,就是对答案(权值)做CDQ分治。 有些问题会给出一些修改和一些询问,当可以通过二分后线性判定回答询问时,我们就可以将所有修改和询问放在一起二分,复杂度一般会将一个O(n)级别优化掉,这就是整体二分。 一般配合树状数组、线段树等数据结构,来替代树套树、KD-Tree等代码量和常数都较大的方法 ...
分类:
其他好文 时间:
2019-02-03 11:01:22
阅读次数:
160
Description 有n 个位置和m 个操作。操作有两种,每次操作如果是1 a b c 的形式,表示往第a 个位置到第b 个位置每个位置加入一个数c。如果操作形如2 a b c 的形式,表示询问从第a 个位置到第b 个位置,第c 大的数是多少。 Description 有n 个位置和m 个操作。 ...
分类:
编程语言 时间:
2019-01-29 22:05:02
阅读次数:
161
题目要我们求$f[i]=\sum\limits_{j=1}^{i}f[i-j]g[j]\;mod\;998244353$ 直接上$NTT$肯定是不行的,我们不能利用尚未求得的项卷积 所以要用$CDQ$分治,先递归$[l,mid]$,然后处理$[l,mid]$对$[mid+1,r]$的影响,再递归$[ ...
分类:
其他好文 时间:
2019-01-21 20:10:58
阅读次数:
151
upd:$(x1,y1)(x2,y2)$表示以$(x1,y1)$为左上端点 $(x2,y2)$为右下端点的矩形 本来以为是一道二位树状数组的模板,但是看数据范围之后就放弃了,边界既然到了2000000,那么我们只能使用其他办法来代替树状数组 ~~于是,CDQ分治就诞生了!~~ 此题我们可以把问题转化 ...
分类:
其他好文 时间:
2019-01-19 21:17:30
阅读次数:
214
cdq分治是一种常用的降维手段,可以解决偏序问题。 题目 给定$n$个三元组$(x, y, z)$,给定一个$f(a)$,表示所有元素$b$(自己不算),它的$x,y,z$均小于等于$a$的对应$x,y,z$,求$[0, n)$中每种$f$值的个数。 $n \leq 100000$ $x, y, z ...
分类:
其他好文 时间:
2019-01-16 22:50:28
阅读次数:
234
题目大意:一共有Q(1<=Q<=50000)组操作,操作分为两种: 1.在x,y,z处添加一颗星星 2.询问以(x1,y1,z1)与(x2,y2,z2)为左上和右下顶点的矩形之间的星星数 所有坐标取值范围均为[1,1e9] 思路:由于坐标取值范围太大(即使离散化后也很大),3维的数组肯定开不下,所以 ...
分类:
其他好文 时间:
2019-01-15 00:53:51
阅读次数:
191
P3810 【模板】三维偏序(陌上花开) 思路 :按照 1维排序 二维 分治三维树状数组维护 ...
分类:
其他好文 时间:
2019-01-13 01:59:58
阅读次数:
194