
cdq分治
ylsoi
这个作者很懒,什么都没留下…
展开
-
树状数组模板——cdq分治入门
思路: 开始学cdq分治,然后看到了__stdcall的博客,然后发现从前打过的归并排序求逆序对就是一个典型的cdq分治。 大致思想就是先按照一维来排序,然后按照第一维的顺序进行分治。然后在分治的过程中保证在第一维下左半部分永远小于右半部分,然后就利用这个性质在左半边右半边分别按照第二维度排序,由于左边和右边都是处理好了的,所以只需要处理左边对于右边的贡献,前面既保证了第一位有序,又保证了第二...原创 2018-07-30 09:39:20 · 249 阅读 · 0 评论 -
[bzoj3262]陌上花开——cdq分治
题目大意: 有n朵花,每朵花有三个属性:花形(s)、颜色(c)、气味(m),用三个整数表示。 现在要对每朵花评级,一朵花的级别是它拥有的美丽能超过的花的数量。 定义一朵花A比另一朵花B要美丽,当且仅Sa>=Sb,Ca>=Cb,Ma>=Mb。 显然,两朵花可能有同样的属性。需要统计出评出每个等级的花的数量。 思路: 典型的一道三维偏序的题目,作为一道cdq分治的入门...原创 2018-07-30 13:47:20 · 257 阅读 · 0 评论 -
[bzoj2683]简单题——三维偏序cdq分治
题目大意: 给定一个n∗nn∗nn*n(n≤1e5)n≤1e5)n\leq 1e5)的矩阵,单点修改,区间查询。 思路: 二维树状数组?空间开不下。 那就换一个办法,记得之前用cdq分治来做树状数组的时候,每一个查询的答案是在它前面的修改的并且修改的位置在它前面的才可以计入答案,这里也是一样,将每一个询问拆成四个前缀和数组之后,每一个查询的答案为在它前面修改的并且xxx小于它yyy也小于它...原创 2018-07-30 20:31:24 · 296 阅读 · 0 评论