决策单调性DP学习小记

四边形不等式

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

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

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

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

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

猜你喜欢

转载自blog.csdn.net/P_hillipe/article/details/84953496
今日推荐