首页 > 其他 > 详细

区间DP----四边形不等式优化

时间:2019-05-21 22:20:24      阅读:132      评论:0      收藏:0      [点我收藏+]

转载自https://blog.csdn.net/u014800748/article/details/45750737

 

四边形不等式优化条件

在动态规划中,经常遇到形如下式的状态转移方程:

dp[ i ][ j ]=min( dp[ i ][ j ] , dp[i][k-1] + dp[ k ][ j ]+w[ i ][ j ] ) ;    (i≤k≤j)(min也可以改为max)

上述的dp(i,j)表示区间[i,j]上的某个最优值。w(i,j)表示在转移时需要额外付出的代价。该方程的时间复杂度为O(N^3)。

 

什么是”区间包含的单调性“和”四边形不等式“?

(1)区间包含的单调性:如果对于a≤b<c≤d,有w(b,c)≤w(a,d),那么说明w具有区间包含的单调性。(简记为如果小区间包含于大区间中,那么小区间的w值小于等于大区间的w值)

 

(2)四边形不等式:对于( a < b <= c< d ),如果 w[a][c]+w[b][d]<=w[b][c]+w[a][d]成立,则称函数w[i][j]满足四边形不等式,简记为交叉小于包含

 

 

 

下面给出两个定理

 

定理一:如果上述的w函数同时满足区间包含单调性和四边形不等式性质,那么函数dp也满足四边形不等式性质。

 


我们再定义s(i,j)表示dp(i,j)取得最优值时对应的下标(即i≤k≤j时,k处的w值最大,则s(i,j)=k)。此时有如下定理

 

定理二:假如dp(i,j)满足四边形不等式,那么s(i,j)单调,即s(i,j)≤s(i,j+1)≤s(i+1,j+1)。

 

 

 

应用

好了,有了上述的两个定理后,我们发现如果w函数满足区间包含单调性和四边形不等式性质,那么有s(i,j-1)≤s(i,j)≤s(i+1,j)。

即原来的状态转移方程不变,但是k的取值范围大大缩小:

dp[ i ][ j ]=min( dp[ i ][ j ] , dp[ i ][ k-1 ] + dp[ k ][ j ] + w[ i ][ j ]  ;  ( s(i,j-1) ≤k≤ s(i+1,j) )    ( min也可以改为max)

 

区间DP----四边形不等式优化

原文:https://www.cnblogs.com/-citywall123/p/10902600.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!