CDQ分治

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
(??)
可能有意义

posted @ 2024-02-04 12:41  妖灵梦  阅读(9)  评论(0)    收藏  举报