决策单调性DP学习小记

四边形不等式

解决形如这样的DP式子的问题
F i , j = m i n { F i − 1 , k + w k + 1 , j } ( i &lt; = k &lt; = j ) F_{i,j} = min\{{F_{i - 1,k} + w_{k + 1,j}}\}(i&lt;=k&lt;=j) Fi,j=min{Fi1,k+wk+1,j}(i<=k<=j)
或者是
F i , j = m i n { F i − 1 , k , F k + 1 , j } + w i , j ( i &lt; = k &lt; = j ) F_{i,j} = min\{F_{i - 1,k},F_{k +1,j}\} + w_{i,j}(i&lt;=k&lt;=j) Fi,j=min{Fi1,k,Fk+1,j}+wi,j(i<=k<=j)
一般用于区间DP.

区间包含的单调性:
对于任意的 a &lt; = b &lt; = c &lt; = d a&lt;=b&lt;=c&lt;=d a<=b<=c<=d,若 w ( b , c ) &lt; = w ( a , d ) w(b,c)&lt;=w(a,d) w(b,c)<=w(a,d),则称 w w w具有区间包含的单调性.
四边形不等式:
对于任意的 a &lt; = b &lt; = c &lt; = d a&lt;=b&lt;=c&lt;=d a<=b<=c<=d,若 w ( a , c ) + w ( b , d ) &lt; = w ( b , c ) + w ( a , d ) w(a,c)+w(b,d)&lt;=w(b,c)+w(a,d) w(a,c)+w(b,d)<=w(b,c)+w(a,d),则称 w w w满足四边形不等式.
可以形象理解成交叉之和小于等于包含之和.

倘若上述的 w w w函数满足区间包含单调性和四边形不等式,则 F F F函数满足四边形不等式.

p i , j p_{i,j} pi,j F i , j F_{i,j} Fi,j最优时取得的下标.
F i , j F_{i,j} Fi,j满足四边形不等式,则 p i , j p_{i,j} pi,j单调.即 p i , j &lt; = p i , j + 1 &lt; = p i + 1 , j + 1 p_{i,j}&lt;=p_{i,j+1}&lt;=p_{i+1,j+1} pi,j<=pi,j+1<=pi+1,j+1

得到这些信息后, k k k的范围可以改写成
p i , j − 1 &lt; = k &lt; = p i + 1 , j p_{i,j-1}&lt;=k&lt;=p_{i+1,j} pi,j1<=k<=pi+1,j
这样可以将复杂度优化至 O ( N 2 ) O(N^2) O(N2).
一般来讲,可以将决策点打表打出来观察是否每行每列均单调.
当然如果能手动证明四边形不等式也是极好的.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值