「学习笔记」浅谈满足四边形不等式的序列划分问题的答案凸性

参考了 Itst 的博客所以你的学习笔记就是把原文抄一遍吗


首先定义 “满足四边形不等式的序列划分问题”:

给出 n,k 和一个 (n+1)×(n+1) 的矩阵 ci,j,你需要给出一个长度为 k+1 的序列 p0=0<p1<p2<<pk1<pk=n,定义该序列的价值为 i=1kcpi1,pi。你需要求出所有合法的序列的最小价值。

其中矩阵 c 满足四边形不等式,即 i<jk<l,ci,k+cj,lci,l+cj,k

其组合意义是显然的,p 序列给出了序列划分的位置,区间 (i,j] 的权值为 ci,j。需要注意的是,权值矩阵 c 在题目中一般不会显式地给出,这要求我们能够较快地对给定的区间信息进行查询。

另一个理解的角度是将序列看做一条链,ij 的边权值为 ci,j,所求即为 0n 的最短路长度,因此该类问题也被称作 “满足四边形不等式的链上路径问题”。

先给出结论:设当 k=p(p[1,n1]) 时答案为 f(p)f(p)(p[2,n1])=f(p1)f(p),则 f(p) 单调不增,即 q[3,n1],f(q)f(q1)


为此我们需要证明一个稍强一些的结论:

引理:1s<r<tn1f(r)+f(s+tr)f(s)+f(t)

证明:

设序列 Pf(s) 对应的最优解,序列 Qf(t) 对应的最优解,Δ=rs。根据鸽巢原理可知存在 x[0,s1] 满足 Px<Qx+Δ<Qx+Δ+1Px+1。此时考虑两个序列 R={P0,P1,,Px,Qx+Δ+1,,Qt},S={Q0,Q1,,Qx+Δ,Px+1,,Ps}。显然 RS 分别是 k=s+trk=r 的一组合法解。

设某个序列 X 的权值为 w(X),那么有

w(R)+w(S)w(P)w(Q)=cPx,Qx+Δ+1+cQx+Δ,Px+1(cPx,Px+1+cQx+Δ,Qx+Δ+1)

而根据四边形不等式上式 0,同时因为 f(r)+f(s+tr)w(R)+w(S),故 f(r)+f(s+tr)f(s)+f(t),结论成立。


在引理中令 s=x1,t=x+1,r=x 可得 f(x)+f(x)f(x1)+f(x+1),即 f(x1)f(x)f(x)f(x+1),即 f(x)f(x+1),故结论成立。

这意味着答案对于段数是一个下凸的函数,可以使用 WQS 二分等凸优化技巧优化。

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