DP 优化
参考资料
斜率优化
当 DP 转移形如 ,且把含 的项整理后能写成「关于某个随 单调的斜率的一次函数」时,可用 斜率优化。
把每个决策 看作平面上一个点,最优转移等价于在这些点构成的 下凸壳 上找到与给定斜率相切的点。当斜率与横坐标都单调时用单调队列维护凸壳,均摊 转移,总复杂度降到 ;否则可在凸壳上二分。
四边形不等式优化
若代价函数 满足 四边形不等式:对 有 ,则相应 DP 的最优决策点具有单调性。利用决策单调性,可把区间 DP 由 优化到 ,把一类一维 DP 优化到 。
WQS 二分
WQS 二分(带权二分 / 凸优化)用于「恰好选 个某类元素」且最优值关于 为凸的问题。给每个该类元素附加惩罚 并去掉「恰好 个」的限制求最优,再二分 使最优解恰好用了 个,从而把带数量限制的问题转化为一次普通求解。
例题
个玩具排成一列,第 个长 。将其划分为若干连续段,每段装入一个一维容器,相邻玩具间留 单位间隔,则段 的容器长为 ,费用为该长度与 之差的平方。求最小总费用。
数轴上有 个村庄,要建 个邮局,使每个村庄到最近邮局的距离之和最小,求该最小值。
给定 个点 条边的无向图,每条边为黑或白且带权,求恰好包含 条白边的生成树中边权和最小的一棵。