四边形不等式
解决形如这样的DP式子的问题
Fi,j=min{Fi−1,k+wk+1,j}(i<=k<=j)
或者是
Fi,j=min{Fi−1,k,Fk+1,j}+wi,j(i<=k<=j)
一般用于区间DP.
区间包含的单调性:
对于任意的
a<=b<=c<=d,若
w(b,c)<=w(a,d),则称
w具有区间包含的单调性.
四边形不等式:
对于任意的
a<=b<=c<=d,若
w(a,c)+w(b,d)<=w(b,c)+w(a,d),则称
w满足四边形不等式.
可以形象理解成交叉之和小于等于包含之和.
倘若上述的
w函数满足区间包含单调性和四边形不等式,则
F函数满足四边形不等式.
设
pi,j为
Fi,j最优时取得的下标.
若
Fi,j满足四边形不等式,则
pi,j单调.即
pi,j<=pi,j+1<=pi+1,j+1
得到这些信息后,
k的范围可以改写成
pi,j−1<=k<=pi+1,j
这样可以将复杂度优化至
O(N2).
一般来讲,可以将决策点打表打出来观察是否每行每列均单调.
当然如果能手动证明四边形不等式也是极好的.