按时间分治:
- CDQ分治
解决大多可以归化为维偏序问题的离线算法。
维偏序问题的解法:
[已完成]例题1:CF 70 D ,支持动态加点的凸包问题,可以使用CDQ分治变成离线.
[已完成]例题2:CF 848C, 设一段区间的价值为区间内每个出现过的数,最后一次出现的位置-第一次出现的位置之和。要求支持单点修改和区间查询。
解法:把每个 ai 看作二元组 ,则 在区间内的贡献为 ,中间的部分均消去,剩余的贡献恰为题目所求。因此,时间、、 组成了三维数点问题的三个维度,套用 CDQ 分治解决。
例题3:【UOJ#50】【UR #3】链式反应(分治FFT,动态规划) - 线段树分治
动态图连通性.
对每个物品求不包含它的01背包.
[已完成]【HNOI】城市建设:支持修改边权,求 MST 边权和.
对于一段时间区间 [l,r],我们把这段区间中修改到的边称为 待修边,其余的边称为 固定边。
设 表示当前分治的时间区间为 ,缩点后的连通块集合为 ,不确定是否会出现在 MST 中的固定边集合为。初始 。
在我们递归到某个儿子前,只在当前节点的另一个儿子中修改的待修边会变为固定边,将它们加入 。
对于剩余的待修边,用它们尽可能的连接 中的连通块;此时若存在两点 尚未连通,那么,任何待修边都不可能使它们联通,可以直接用 E 中的边将这些连通块连起来,并缩点至任意两点可以通过待修边相连。
由于待修边最多有 条,此时的 大小也是 的。
对于剩余的 中的边,按权值排序后,用它们尽可能的连接 中的连通块;此时若存在一条边的端点已经连通,则无论待修边的权值如何,这条边都不可能在 MST 中,可以直接从 中删除。
由于此时 V 大小已经为 , 中剩余的边最多保留一棵生成树,因此此后 4E$ 的大小也是 。
我们发现,递归到任何一个节点时,耗费的时间都是 级别的,因此总复杂度为 - 二进制分组
动态凸包,强制在线.
[已完成] - 整体二分
[已完成]【LG1527】[国家集训队]矩阵乘法
CF 102354 B
调和级数枚举约数+整体二分+莫比乌斯反演。 - 带权⼆分/决策单调性
设 如果 比 “不会更劣”,就称此类 dp 满足四边形不等式。满足四边形不等式的 均具有决策单调性。(充分,但不必要)
[已完成]CF 321E 有一个沿主对角线对称的非负方阵,把它的主对角线分成 k 块,每块的权值是对应子方阵的和。求最小代价。
由于方阵非负,决策单调性显然。
用分治处理决策单调性的方法可以做到
NOI 2009 诗人小G.
CF 868F 将一个数列分成k段,每段的代价是相同的数字的对数。 求代价总和最⼩。
给一个凸包,选 k 个点使得围成的面积最大。
考虑枚举起点,可以带权二分+决策单调性 求出确定起点的答案,期望随机 次就可以得到最优答案。
来源:CSDN
作者:Freopen
链接:https://blog.csdn.net/qq_35950004/article/details/104148908