「DP 浅析」四边形不等式优化
下面的证明的思想多数为数学归纳、分类讨论或反证法。
简述
定义
定义 1:如果对于任意
定义 2:如果对于任意
定理 1:如果对于定义域上任意
成立,那么
证明:先来证明对于任意
对于
首先根据归纳假设,
因为
将
于是对于
在上面的基础上,我们再来证明对于
首先根据归纳假设,有
因为
将
于是假设成立,即四边形不等式成立。
应用
优化 2D1D 动态规划
区间型 DP
常见的一种动态规划的状态转移方程为
直接简单实现上面的转移,那么时间复杂度为
定理 2:如果
证明:定义
首先,如果
( 需要对于区间包含关系具有单调性)若
,则 ,根据归纳假设,有 ,两式相加即得若
,则 ,根据归纳假设,有 ,两式相加即得
( 仅需满足四边形不等式)若
,则 ,因此再由
和归纳假设知将前两个不等式累加,并将第三个不等式代入,可得
若
,则 ,因此再由
和归纳假设知将前两个不等式累加,并将第三个不等式代入,可得
综上所述,两种情形均有
定理 3:若状态
证明:记
若
,则 ,因此根据四边形不等式有再根据
是状态 的最优决策点可知将以上两个不等式相加,得
即
,但这与 是最小的最优决策点矛盾,因此 。若
,则 ,根据四边形不等式可得再根据
是状态 的最优决策点可知将以上两个不等式相加,得
即
,但这与 是最小的最优决策点矛盾,因此 。
因此,如果在计算状态
上式的第一个等号可以通过将两个
另一形式
另一种常见的状态转移方程为
具有与上面同样的结论与性质。
优化 1D1D 动态规划
定理及证明
一种常见的状态转移方程为
定理 4:若
证明:设
将
也就说明了应有
实现
由于决策单调性,
显然一种朴素的做法是直接在
一种更为简洁的做法是,用一个队列维护
同时,如果一个三元组的右边界已经小于当前处理的位置,它一定不再有贡献,可以直接丢掉,于是就类似与单调队列,此时第一个合法的队头就是该位置的最优决策点。
考虑用
- 取出队尾的三元组
; - 若
,令 ,删掉该三元组,回到 1. - 若
,直接到 5. - 在
上二分,找到第一个可行位置,更新为 ; - 在队尾加入
;
整体时间复杂度为
参考资料
[2] 四边形不等式 - Pedesis
Gitalk 加载中 ...