首页 > 其他分享 >四边形不等式优化dp

四边形不等式优化dp

时间:2023-06-02 21:22:56浏览次数:44  
标签:le 不等式 sum 决策 四边形 dp

对于转移方程 \(c(i,j)=w(i,j)+\min_d(c(i,d)+c(d+1,j))\),存在 \(w(i,j)+w(i',j')\le w(i,j')+w(i',j)(i\le i'\le j\le j'\) 如何快速求其答案。

引理一:\(w(i,j)+w(i',j')\le w(i,j')+w(i',j)\) 则 \(c(i,j)+c(i',j')\le c(i,j')+c(i',j)\),记 \(x(i,j)=\min_d(c(i,d)+c(d+1,j))\),只要 \(x\) 满足 \(x(i,j)+x(i',j')\le x(i,j')+x(i',j)\) 即可。

假设条件对 \(len<j'-i+1\) 的任意 \(len\) 成立,那么:我们只需要证明,\(x(i,j')\) 和 \(x(i',j)\) 的任意拆分方式,\(x(i,j)\) 和 \(x(i',j')\) 都存在不更劣的拆分即可。考虑 \(x(i,j'),x(i',j)\) 的决策点 \(k,l\) 在哪里,首先只处理 \(k\le l\)。然后假设 \(x(i,j')\) 被拆分成 \(c(i,k)\) 和 \(c(k+1,j')\),\(x(i',j)\) 被拆分成 \(c(i',l)\) 和 \(c(l+1,j)\),那么我们同时把对面拆分成 \(c(i,k)\) 和 \(c(k+1,j)\) 以及 \(c(i',l)\) 和 \(c(l+1,j')\)。

那么两边 \(c(i,k)+c(i',l)\) 抵消,变成了 \(c(k+1,j')+c(l+1,j)\) 和 \(c(k+1,j)+c(l+1,j')\),因为 \(k+1\le l+1\le j\le j'\),所以只要证明这个就可以了。而一开始的数学归纳决定了对 \(len<j'-i+1\) 的任意 \(len\) 成立,而 \(k+1>i\),所以成立。这种情况我们是抵消左边,对于 \(k>l\) 抵消右边即可。

引理2:\(c(i,j)\) 满足四边形不等式,则使得 \(c(i,j)\) 取得最小值的最大决策点 \(k(i,j)\) 满足 \(k(i,j)\le k(i,j+1)\le k(i+1,j+1)\)。

先证明 \(k(i,j)\le k(i,j+1)\),设两者分别为 \(a,b\),那么如果 \(a>b\),则

因为我们在 \((i,j+1)\) 没有决策 \(a\),所以 \(c(i,a)+c(a+1,j+1)>c(i,b)+c(b+1,j+1)\)。
因为我们在 \((i,j)\) 没有决策 \(b\),所以 \(c(i,b)+c(b+1,j)\ge c(i,a)+c(a+1,j)\)。

两式相加 \(c(a+1,j+1)+c(b+1,j)>c(b+1,j+1)+c(a+1,j)\)。
但是因为 \(b+1<a+1\le j<j+1\),所以根据四边形不等式条件有 \(c(a+1,j+1)+c(b+1,j)>c(b+1,j+1)+c(a+1,j)\),矛盾,所以 \(a\le b\)。

然后证明 \(k(i,j)\le k(i+1,j)\),设两者分别为 \(a,b\),那么如果 \(a>b\),则

因为我们在 \((i,j)\) 没有决策 \(b\),所以 \(c(i,b)+c(b+1,j)\ge c(i,a)+c(a+1,j)\)。
因为我们在 \((i+1,j)\) 没有决策 \(a\),所以 \(c(i+1,a)+c(a+1,j)>c(i+1,b)+c(b+1,j)\)。

两式相加 \(c(i,b)+c(i+1,a)>c(i,a)+c(i+1,b)\)。但是因为 \(i<i+1\le b<a\),所以 \(c(i,b)+c(i+1,a)\le c(i,a)+c(i+1,b)\),矛盾,得证 \(a\le b\)。

则引理二得证:\(c(i,j)\le c(i,j+1)\le c(i+1,j+1)\)。

所以,我们得到在决策矩阵上行和列都是单调的。

那么,我们计算 \(c(i,j)\) 的时候只需要计算 \([k(i,j-1),k(i+1,j)]\) 内的决策点即可。这里的复杂度是 \(\sum_{1\le i<j\le n}k(i+1,j)-\sum_{1\le i<j\le n}k(i,j-1)+n^2\)
\(=\sum_{1<i'\le j\le n}k(i',j)-\sum_{1\le i\le j'<n}k(i,j')\)
\(=\sum_{1<i\le n} k(i,n)-\sum_{1\le j<n}k(1,j)\le n^2\)。

我们也就得到了 dp 的四边形不等式优化方法。

标签:le,不等式,sum,决策,四边形,dp
From: https://www.cnblogs.com/jucason-xu/p/17452894.html

相关文章

  • TCP和UDP区别
    TCP是传输控制协议,UDP是用户数据表协议;TCP长连接,UDP无连接;UDP程序结构较简单,只需发送,无须接收;TCP可靠,保证数据正确性、顺序性;UDP不可靠,可能丢数据;TCP适用于少量数据,UDP适用于大量数据传输;TCP速度慢,UDP速度快;......
  • HDU 5542 The Battle of Chibi(树状数组+dp)
    TheBattleofChibiTimeLimit:6000/4000MS(Java/Others)    MemoryLimit:65535/65535K(Java/Others)TotalSubmission(s):1749    AcceptedSubmission(s):621ProblemDescriptionCaoCaomadeupabigarmyandwasgoingtoinvadethewholeSou......
  • ICPC2017网络赛(南宁)子序列最大权值(树状数组+dp)
    https://nanti.jisuanke.com/t/17319LetSSbeasequenceofintegerss_{1}s1,s_{2}s2,......,s_{n}snEachintegerisisassociatedwithaweightbythefollowingrules:(1)Ifisisnegative,thenitsweightis00.(2)Ifisisgreaterthanorequalto10......
  • upc 6902: Trie树 (状压dp)
    6902:Trie树时间限制:1Sec  内存限制:128MB提交:137  解决:19[提交][状态][讨论版][命题人:admin]题目描述字母(Trie)树是一个表示一个字符串集合中所有字符串的前缀的数据结构,其有如下特征:1.树的每一条边表示字母表中的一个字母2.树根表示一个空的前缀3.树上所有......
  • Android通过 SharedPreference 实现用户名与密码的存储与调用
    注:Android实验课(一)的内容一、实验原理1.1实验目标编程实现用户名与密码的存储与调用。1.2实验要求设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedPreference,读取不到该用户名提示用户不存在,用......
  • DP1040 DP国产代替TJA1040 CAN总线收发器接口芯片 SOP8
    1简述DP1040C是一款应用于CAN协议控制器和物理总线之间的接口芯片,可应用于卡车、公交、小汽车、工业控制等领域,速率可达到1Mbps,具有在总线与CAN协议控制器之间进行差分信号传输的能力,完全兼容“ISO11898”标准。2短路保护DP1040C的驱动级具有限流保护功能,以防止驱动电路短......
  • CAN 总线 MCP2551T-I/SN 收发器代替型号 DP2551-I/ST完全pin对pin兼容
    目前世界上使用最广泛的CAN收发器当属NXP(原飞利浦半导体)的各种收发器了。MCP2551是一个可容错的高速CAN器件,可作为CAN协议控制器和物理总线接口。MCP2551可为CAN协议控制器提供差分收发能力,它完全符合ISO-11898标准,包括能满足24V电压要求。它的工作速率高达1Mb/s......
  • CAN 总线 TJA1050/DP1050 引脚定义以及中文资料
    1简述DP1050是一款应用于CAN协议控制器和物理总线之间的接口芯片,可应用于卡车、公交、小汽车、工业控制等领域,速率可达到1Mbps,具有在总线与CAN协议控制器之间进行差分信号传输的能力,完全兼容“ISO11898”标准。DP1050芯片特点-完全兼容“ISO11898”标准;-内置过温......
  • 扩散模型 - DDPM 优化
    3DDPM的优化3.1参数优化3.1.1优化βt在"ImprovedDenoisingDiffusionProbabilisticModels".一文中,作者提出了多种优化DDPM的技巧。其中一种就是把βt的线性机制改为余弦机制。机制(schedule)函数的实现相对灵活,只要保证在训练的中间过程提供近似-线性的下降并且在......
  • 初级DP
    -0.DP的概念与设计和实现概念:DP从本质上讲是图论问题的中的一种,DP的每一种状态所对应的便是一张图上的点,转移对应的便是图上的边。如果是求最值,那便是图论中的最短路或最长路;如果要求方案数,那便是图论中的路径统计问题。设计:DP的设计有三大要素:状态,转移方程,初始化。实现:DP的......