CDQ分治
引入
偏序问题
对于每个有序对 \((a_i,b_i)\)
求有多少个有序对 \((a_j,a_j)\)
\(a_i<a_j,b_i<b_j\)
暴力 \(O(n^2)\)
按 \(a\) 排序,问题为求顺序对,cdq分治
定义
解决特定种类问题的算法,统计左区间对右区间的贡献,一个点所得贡献必然计算,且区间划分不重不漏
实现
要注意有些问题,一个点可以在多个分治里统计答案
闲话
跟归并排序像,但是不能叫做归并排序(孙悟空的子孙不是孙悟空),名字都是有来由的。
cdq套cdq(官方可行) 树状套树状(私人可行) cdq套树状(C) 树状套cdq
(??)
可能有意义