四边形不等式相关

四边形不等式,即:w[i , j] + w[i' , j'] <= w[i , j'] + w[i' , j], 其中 i <= i' <= j' <= j;

看了几篇关于四边形不等式,虽然不是很深的去研究四边形不等式的相关证明,但却发现可以总结出一些类似于公式的东西,总结如下:

顺便推荐两篇论文: 《四边形不等式》《动态规划算法优化技巧》

我是这么总结的:

1>  状态转移方程形如:f[i] = opt{f[j]+w[j , i]}  其中b[i] <= j <= i-1

(说明:b[i]是根据题目描述的可以决策状态i的左边界,w[j][i]是状态j转移到状态i的代价)

若w满足四边形不等式,则决策满足单调性。

所以可以采用单调队列优化。

2>  状态转移方程形如:f[i , j] = opt{f[i-1 , k] + w[k+1 , j]},  b[i-1] <= k <= j-1

典型题目:PKU 1160 Post Office

设s[i , j]为状态f[i , j]决策变量的最大值,即s[i , j] = max{k | f[i , j] = f[i-1 , k] + w[k+1 , j]},

若w满足四边形不等式,则:

f也满足四边形不等式,f[i , j] + f[i' , j'] <= f[i , j'] + f[i' , j], 其中 i <= i' <= j' <= j,

决策s满足单调性,即:s[i-1 , j] <= s[i , j] <= s[i+1 , j+1],所以在决策f[i , j]是就可以减少k的枚举量,加速状态转移。

3>  状态转移方程形如:f[i , j] = opt{f[i , k] + f[k+1 , j]} + w[i , j], i < j

典型题目:NK 1137 石子合并问题

若w满足四边形不等式, 则:

f也满足四边形不等式,f[i , j] + f[i' , j'] <= f[i , j'] + f[i' , j], 其中 i <= i' <= j' <= j,

决策s满足单调性,即:s[i-1 , j] <= s[i , j] <= s[i+1 , j+1]。

-----------------------------------------------------------------------------------------------------------------

具体的证明可以看先前说的两篇论文,这里只给出公式化的描述。以后有时间待好好研究上面的两篇论文后在细致总结。

水平有限,文中可能有错,若有路过的神牛大牛小牛,还请指点。 谢谢。

posted on 2012-04-16 16:44  algoCG  阅读(324)  评论(0编辑  收藏  举报

导航