四边形不等式

四边形不等式

先放几个结论:

(1)一个矩阵A对于任意a<b<=c<d都有 A [ a ] [ c ] + A [ b ] [ d ] &lt; = A [ a ] [ d ] + A [ b ] [ c ] ) A[a][c]+A[b][d]&lt;=A[a][d]+A[b][c]) A[a][c]+A[b][d]<=A[a][d]+A[b][c])称其满足四边形不等式。

(2)等价于对于任意a<b, A [ a ] [ b ] + A [ a + 1 ] [ b + 1 ] &lt; = A [ a ] [ b + 1 ] + A [ a + 1 ] [ b ] A[a][b]+A[a+1][b+1]&lt;=A[a][b+1]+A[a+1][b] A[a][b]+A[a+1][b+1]<=A[a][b+1]+A[a+1][b]

(3)如果转移的代价矩阵满足四边形不等式和区间包含单调性,dp矩阵也满足四边形不等式和区间包含单调性。

(4)如果dp矩阵满足四边形不等式,则具有决策单调性。

部分证明:

(2)四边形不等式转化到图上大概长这样,(1)是A+B<=C+D,(2)的式子即每一个1*1的小方格满足这样的对角线规则,(1)转换到(2)显然,(2)转换到(1)的话,把A到D这一排的方格的式子加起来,再往上走把每一排的式子加起来,最后得到的就是A+B<=C+D了。

(4)对于 f [ i ] = m i n ( f [ j ] + w [ i ] [ j ] ) f[i]=min(f[j]+w[i][j]) f[i]=min(f[j]+w[i][j])型,反证

如果存在a<b<c<d使 f [ a ] + w [ a ] [ c ] ≥ f [ b ] + w [ b ] [ c ] f[a]+w[a][c] \geq f[b]+w[b][c] f[a]+w[a][c]f[b]+w[b][c] f [ a ] + w [ a ] [ d ] &lt; f [ b ] + w [ b ] [ d ] f[a]+w[a][d]&lt;f[b]+w[b][d] f[a]+w[a][d]<f[b]+w[b][d]

f [ a ] + w [ a ] [ c ] + f [ b ] + w [ b ] [ d ] &gt; f [ b ] + w [ b ] [ c ] + f [ a ] + w [ a ] [ d ] f[a]+w[a][c]+f[b]+w[b][d]&gt;f[b]+w[b][c]+f[a]+w[a][d] f[a]+w[a][c]+f[b]+w[b][d]>f[b]+w[b][c]+f[a]+w[a][d]

w [ a ] [ c ] + w [ b ] [ d ] &gt; w [ b ] [ c ] + w [ a ] [ d ] w[a][c]+w[b][d]&gt;w[b][c]+w[a][d] w[a][c]+w[b][d]>w[b][c]+w[a][d]与四边形不等式矛盾,得证

对于dp函数是二维的情况,设转移到 f [ i ] [ j ] f[i][j] f[i][j]的点为 s [ i ] [ j ] s[i][j] s[i][j],如 f [ i ] [ j ] f[i][j] f[i][j]满足四边形不等式,同理反证可得

s [ i ] [ j − 1 ] &lt; = s [ i ] [ j ] &lt; s [ i + 1 ] [ j ] s[i][j-1]&lt;=s[i][j]&lt;s[i+1][j] s[i][j1]<=s[i][j]<s[i+1][j]

题目:

上述证明只是便于理解算法,实际做题时只需证明代价函数具有四边形不等式,若不好证,用结论(2)n^2打表或是暴力dp打表看是否满足决策单调性即可。

(1)对于二维的情况,在转移顺序允许的情况下,可以用 s [ i ] [ j − 1 ] &lt; = s [ i ] [ j ] &lt; s [ i + 1 ] [ j ] s[i][j-1]&lt;=s[i][j]&lt;s[i+1][j] s[i][j1]<=s[i][j]<s[i+1][j]将其优化到 n 2 n^2 n2

​ 证明:复杂度为 ∑ s [ i + 1 ] [ j ] − s [ i ] [ j ] \sum s[i+1][j]-s[i][j] s[i+1][j]s[i][j],把每条对角线加起来,相当于该对角线的上端点减下端点。共n条对

​ 角线,总复杂度是小于等于n^2的

(2)一维的情况有单调队列和分治两种做法

​ 1.单调队列,适用于转移用的dp值需要边走边算,且能快速计算 w [ i ] [ j ] w[i][j] w[i][j]的题目(诗人小G),如单调队列里维

​ 护每个决策点为最优的区间即可。

​ 2.分治,适用于该阶段转移用的dp值已经全部算好了,但是 w [ i ] [ j ] w[i][j] w[i][j]不能快速计算的题目(小Q的书架),先计

​ 算目前区间中点的最优决策点k,递归左右,左边的最优决策点在k左边,右边在k右边。计算w的时

​ 候用类似莫队的方式移动区间端点。这样复杂度是k*logn的,当k很大时就需要再加上带权二分了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值