各种分治的套路汇总(分治)
咕咕咕。。。
NOIP退役预定?
最近膜你赛的分治题总是不会,窝太弱了qwq
基础应用
快速幂?(某些多组询问的矩阵乘法题,预处理出矩阵\(2^j\)的幂,然后每次取出合并,可以优化时间复杂度)
归并排序?
翻转排序?(NOIAC32 Sort)
序列分治
关于最值分治是序列分治中最常见的,要求的东西一般都长成这样:\(\sum\limits_{l=1}^n\sum\limits_{r=l}^n F_{l,r}\)。
蒟蒻见过的又可以分为两类:
-
将序列中点作为分治中心,考虑左边最值对右边的贡献。如这道题。
-
将最值位置作为分治中心,考虑较小一侧对较大一侧的贡献。例子就不方便举出了。复杂度证明?可以把分治过程看成树结构,套用树剖/dsu on tree的方法来证明这也是带一个\(\log\)的。
区间最值,区间与/或,区间\(\gcd\)/\(\text{lcm}\)等都有单调的性质,可能被瞎jb同时掺进某一道题里。
线段树分治
NOIP警告
CDQ分治
NOIP警告
其实基本是板子。
另外无重复元素三维偏序问题有更巧妙的容斥做法。