POJ1160:Post Office【四边形不等式优化】

——有n个村庄,要建m个邮局,使得村庄到邮局距离的总和最小。(邮局只能建在村庄里)

——DP,四边形不等式优化。

——url:http://poj.org/problem?id=1160

————————————————————————————————————————————————————————————————————————

具体参见毛子清的论文。

————————————————————————————————————————————

状态转移方程

        d[ i, j ] = min{ d[ i, k - 1 ] + d[ k + 1 ][ j ] } + w[ i , j ]           i <= k <= j

时间复杂度为 O( n * n * n )


1、如果函数 满足: w[ a, c ] + w[ b, d ] <= w[ b, c ] + w[ a, d ]          a < b < c < d

则说 满足凸四边形不等式(简称 为凸)。

2、如果函数 满足:w[ i, j ] <= w[ i", j" ]                 [ i, j ] 包含于 [ i", j" ]

则说 关于区间包含关系单调。


——————————————————————————————————————

定理一:

        如果 同时满足四边形不等式和区间单调关系,则 也满足四边形不等式;

定理二:

        定理一的条件满足时让 d[ i, j ] 取最小值的 为 K[ i, j ],则 K[ i, j - 1 ] <= K[ i, j ] <= K[ i + 1, j ]

定理三:

        w 为凸当且仅当 w[ i, j ] + w[ i + 1, j + 1 ] <= w[ i + 1, j ] + w[ i, j + 1 ]

由定理三可以得出验证w是否为凸:

固定j算出w[i,j+1]-w[i,j]关于i的表达式,若其关于i是递减,则w为凸。同样,固定i算出w[i+1,j]-w[i,j]关于j的表达式,如果关于j递减,则w为凸。

这样每次决策范围变成 K[ i + 1, j ] 到 K[ i, j - 1 ]

按 j - i 递减的顺序递推各个状态值,则对于每个确定的 j - i 来说,决策总量为 O( n ),故总的时间复杂度为 O( n*n )


——————————————————————————————

分两类:

1、区间问题:s[i,j-1]s[i,j]s[i+1,j]

2、邮局问题:s[i-1j]s[i,j]s[i,j+1]    (表示在前j个村庄建立i个邮局的最小距离和)

posted on 2011-09-02 22:19  风也轻云也淡  阅读(332)  评论(0编辑  收藏  举报