(翻译)浅谈满足四边形不等式的序列划分问题的答案凸性

原论文

(Monge 大概就是满足四边形不等式的意思……)

一切还要从某位毒瘤把邮局加强到 5×105 还自己不会证明说起

感谢 gcz、rushcheyo 和 300iq 帮助我找到了这篇轮文


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

给出 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

先给出结论:设当 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)

Proof.

设序列 Pf(s) 对应的最优解,序列 Qf(t) 对应的最优解,Δ=rs。我们首先证明存在 x[0,s1] 满足 Px<Qx+Δ<Qx+Δ+1Px+1

  • 对于 x=0P0=0<QΔ<QΔ+1 总是成立,这是因为 Δ>0。于是若 QΔ+1P1 那么 x=0 就满足条件。
  • 否则,P1<QΔ+1<QΔ+2 就是成立的,这对应了 x=1 的情况,于是若 QΔ+2P2 那么 x=1 就满足条件。
  • 我们不断这样做下去,即如果 x=i 不满足条件,那么对于 x=i+1 就只需要判断 Qx+Δ+1Px+1 是否满足条件,若不满足条件那么继续考虑 Qx+Δ+2Px+2。然而 Qs+ΔPs=n,所以这个过程不会无限进行下去,也就是说我们总是能找到这样的 x

此时考虑两个序列 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),结论成立。


使用以上结论有 f(x)+f(x)f(x1)+f(x+1),即 f(x1)f(x)f(x)f(x+1),即 f(x)f(x+1),故结论成立。

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

posted @   cjoier_Itst  阅读(2835)  评论(4编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
历史上的今天:
2019-04-29 Luogu4755 Beautiful Pair 最值分治、主席树
点击右上角即可分享
微信分享提示