决策单调性

DP 计算贡献时,往往需要计算任意两点关于某个函数 w(i,j) 的最大值,如果 w 满足一些性质往往可以降低复杂度。

定义四边形不等式满足对于 a,b 两点 a<b,且 w(a+1,b)+w(a,b+1)w(a,b)+w(a+1,b+1)

这个定理可以推广到,对于 abcd 的四个点,如果 w(a,d)+w(b,c)w(a,c)+w(b,d),同样满足四边形不等式。

考虑我们现在有一个 n×m 的表,第 i 行第 j 列上的数位 w(i,j),其中 ij,并且满足四边形不等式,需要你计算每一行的最大值。

考虑分治,设 f(l,r,L,R) 表示我们需要求 [l,r] 行的最优决策点,并且已知这些点都在 [L,R] 列之间。

mid=l+r2,我们暴力计算出第 mid 行的最优决策点 p 列。

考虑四边形不等式 w(a,d)+w(b,c)w(a,c)+w(b,d),令 A=w(a,d),B=w(b,c),C=w(a,c),D=w(b,d),那么 A+BC+D

pCfY37T.png

考虑第一种移项方式,ACDB,那么,如果 DB,那么显然有 AC,那么如果 D 就是第 mid 行的最优决策点 p,那么对于任意列的 B 都满足 DB,也就是对于任意的 C 都满足 C<A,那么 [L,p) 列永远不可能成为 [l,mid) 行的最优决策点,那么就可以递归到 f(l,mid1,p,R)

同理,第二种移项方式是 BDCA,如果 CA,那么 BD,我们把 C 看作第 mid 行的最优决策点 p,那么 (p,R] 列永远不可能成为 (mid,r] 行的最优决策点,递归处理 f(mid+1,r,L,p)

posted @   UperFicial  阅读(36)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示