四边形不等式

四边形不等式优化

四边形不等式

1 、 若 对 于 ∀ a , b , c , d ∈ Z a ≤ b ≤ c ≤ d 有 W a , d + W b , c ≥ W a , c + W b , d 1、若对于 \forall a,b,c,d \in Z \quad a \le b \le c \le d 有 \quad W_{a,d} + W_{b,c} \ge W_{a,c} + W_{b,d} 1a,b,c,dZabcdWa,d+Wb,cWa,c+Wb,d

2 、 若 对 于 ∀ a , b ∈ Z a < a + 1 ≤ b < b + 1 有 W a , b + W a + 1 , b + 1 ≥ W a , b + 1 + W a + 1 , b 2、若对于 \forall a,b \in Z \quad a \lt a+1 \le b \lt b+1 有 \quad W_{a,b} + W_{a+1,b+1} \ge W_{a,b+1} + W_{a+1,b} 2a,bZa<a+1b<b+1Wa,b+Wa+1,b+1Wa,b+1+Wa+1,b

  • 其中12结论等价
一维DP的四边形不等式优化

对于形如
f i = m i n 0 ≤ j < i { f j + V i , j } f_i = min_{0 \le j \lt i} \{ f_j + V_{i,j}\} fi=min0j<i{fj+Vi,j}
形式的状态转移方程,如果Vi,j满足四边形不等式,则决策具有单调性,即
0 ≤ j ≤ p < i ≤ i ′ p 为 决 策 , j 为 决 策 前 的 任 意 点 0 \le j \le p \lt i \le i' \qquad p为决策,j为决策前的任意点 0jp<iipj

f p + V p , i ≤ f j + V j , i f_p + V_{p,i} \le f_j + V_{j,i} fp+Vp,ifj+Vj,i

  • 因为具有决策单调性,因此我们使用类似于单调队列的方式对决策点进行存储:

使用三元组(j,l,r)表示在[l,r]区间上的最优决策为j,每次状态转移完之后

1、如果队头的右端点刚好越过,则弹出队头,更新队头的左端点

2、将此决策点插入队尾 :如果队尾的决策点的左端点决策不如当前点优,即全部弹出队尾,如果左端点优于当前点但是右端点不优于新插点,二分得到二段性点,修改队尾的区间并将新点插入队尾

二维四边形不等式

对于形如
f i , j = m i n i ≤ k ≤ j { f i , k + f k + 1 , j + W i , j } f_{i,j} = min_{i \le k\le j}\{f_{i,k} + f_{k+1,j} + W_{i,j}\} fi,j=minikj{fi,k+fk+1,j+Wi,j}
(1)若满足边界f(i,i) = W(i,j) = 0

(2)若W(i,j)满足四边形不等式

(3)对于任意 a <= b <= c <= dW(a,d) >= W(b,c)

若满足上述三个条件,则f(i,j)也满足四边形不等式

P(i,j)为决策点,则决策具有二维单调性,因此在状态转移的时候,x只需要枚举从p(i-1,j)p(i,j+1)即可,时间复杂度由O(n^3) 优化至O(n^2)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值