分治是什么
分治(Divide and Conquer),是一种把大规模数据分为更小规模数据单独处理然后合并的思想。
如果连分治都不会的话建议看看 Luogu P1177: 快速排序,然后尝试用快排和归并过掉。
分治和二分是两个完全不同的概念,但前期分治一般是按照二分的方法进行拆分的。
关于分治的时间复杂度证明(这里直接忽略了代码常数):
$ T = \sum_{1\le i\le\log_2{n}} 2^i \cdot\dfrac{n}{2^i} = \sum_{1\le i\le\log_2{n}} n = n\log_2{n} $
应该很显然吧。
CDQ 是什么
bdfs.
CDQ 分治
CDQ 分治是一种基于时间的离线分治算法。
翻译成人话:假设有一些修改操作和一些查询操作,把这些操作按照时间排序,然后跑一边分治,合并时统计左边的修改操作对右边查询操作答案的影响。
注意一个查询操作的答案可能会被累计多次。、
例题: P3810 三维偏序(陌上花开)
题目大意:给定长度为\(N\)数列\(a\)
标签:总结,le,log,分治,查询,CDQ,操作 From: https://www.cnblogs.com/aspectofthemind/p/16626432.html