HYSBZ - 4991 题意: 第一列 1-n的排列 ,第二列 1-n的排列。 相同数字连边 ,问 有多少组 数字 是有交点的并且 绝对值之差>K思路:处理一下 1-n 在第一列的位置,1-n在第二列的位置。按照第一列的位置从小到大排序,然后 进行cdq分治,因为现在第一列已经是递增序列了,如果在 ...
分类:
其他好文 时间:
2019-01-13 01:48:23
阅读次数:
236
二维数点的题目还用赘述么…… 题意就是这道题 离线 $CDQ$ 分治 在线 $k-d tree$ ...
分类:
其他好文 时间:
2019-01-11 21:22:13
阅读次数:
214
$cdq$分治浅谈 1.分治思想 分治实际上是一种思想,这种思想就是将一个大问题划分成为一些小问题,并且这些小问题与这个大问题在某中意义上是等价的。 2.普通分治与$cdq$分治的区别 普通分治与$cdq$分治都是基于分治思想之上的算法,但是他们是有区别的。普通分治的适用条件是,产生的小问题之间互不 ...
分类:
其他好文 时间:
2019-01-10 21:51:18
阅读次数:
189
$CDQ$ 分治的神奇操作 这个问题跟偏序问题好像差的不小啊 但是就是可以转化过去 对于一个查询我们可以把它拆成四个,也就是用二维前缀和的方式来查询 我们发现其实前缀和的定义就是多少个点的横纵坐标都小于这个点 典型的偏序问题 于是直接上$cdq$了 代码 include include includ ...
分类:
其他好文 时间:
2019-01-01 21:03:03
阅读次数:
167
还不会这题的多项式求逆的算法。 发现每一项都是一个卷积的形式,那么我们可以使用$NTT$来加速,直接做是$O(n^2logn)$的,我们考虑如何加速转移。 可以采用$cdq$分治的思想,对于区间$[l, r]$中的数,先计算出$[l, mid]$中的数对$[mid + 1, r]$中的数的贡献,然后 ...
分类:
其他好文 时间:
2018-12-29 21:08:17
阅读次数:
153
题目描述 题解: 用cdq分治求一个点左下方最近的点的距离,然后坐标系旋转。 代码: ...
分类:
其他好文 时间:
2018-12-28 19:24:47
阅读次数:
194
题面 题解 因为强制在线,所以我们不能$cdq$分治,所以考虑用$KDT$,$KDT$维护一个矩阵,然后询问的时候如果当前矩形在询问区间内,直接记贡献,否则判断当前点是否在矩阵内,然后左右分别递归下去判断就行了。 ...
分类:
其他好文 时间:
2018-12-25 11:33:02
阅读次数:
157
恢复内容开始 题意:给你两个数组a和b,a,b都是一个n的全排列;有两种操作:一种是询问区间在数组a的区间[l1,r1]和数组b的区间[l2,r2]出现了多少相同的数字,另一种是交换数组b中x位置和y位置的数字。 思路:我们可以建立数组b对数组a的映射mp,mp[x]表示数组b中x位置的数在数组a中 ...
分类:
编程语言 时间:
2018-12-22 13:49:06
阅读次数:
195
"传送门" ~~果然前两天写完 那个题的题解以后博客就开始咕咕咕了……~~ Description 给定整数 $n$ 和两个 $1~\sim~n$ 的排列 $A,B$。 $m$ 个操作,操作有两种: $1~,~l1~,~r1~,~l2~,~r2$ 求$(\bigcup_{i=l1}^{r1} A_i ...
分类:
其他好文 时间:
2018-12-21 21:21:23
阅读次数:
218
思路 看到这种偏序类的题目,而且不要求强制在线,可以立刻想到cdq分治 注意这题有一个问题,就是询问的是小于等于而不是小于,如果相等的话两个元素会相互贡献,而cdq的特点是右区间不能对左边有影响,所以要先去重,再然后就是板子 代码 cpp include include include using ...
分类:
其他好文 时间:
2018-12-15 11:51:43
阅读次数:
147