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

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

时间:2022-08-30 14:04:06浏览次数:113  
标签:浅谈 不等式 权值 凸性 满足 Delta 序列 四边形

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


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

给出 \(n,k\) 和一个 \((n+1)×(n+1)\) 的矩阵 \(c_{i,j}\),你需要给出一个长度为 \(k+1\) 的序列 \(p_0=0<p_1<p_2<…<p_{k−1}<p_k=n\),定义该序列的价值为 \(∑_{i=1}^k c_{p_{i−1},p_i}\)。你需要求出所有合法的序列的最小价值。

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

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

其中矩阵 \(c\) 满足四边形不等式,即 \(∀i<j≤k<l,c_{i,k}+c_{j,l}≤c_{i,l}+c_{j,k}\)。

先给出结论:设当 \(k=p(p∈[1,n−1])\) 时答案为 \(f(p)\),\(f'(p)(p∈[2,n−1])=f(p−1)−f(p)\),则 \(f'(p)\) 单调不增,即 \(∀q∈[3,n−1],f'(q)≤f'(q−1)\)。


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

引理:\(∀1≤s<r<t≤n−1,f(r)+f(s+t−r)≤f(s)+f(t)\)。

证明:

设序列 \(P\) 为 \(f(s)\) 对应的最优解,序列 \(Q\) 为 \(f(t)\) 对应的最优解,\(\Delta=r−s\)。根据鸽巢原理可知存在 \(x∈[0,s−1]\) 满足 \(P_x<Q_{x+\Delta}<Q_{x+\Delta+1}≤P_{x+1}\)。此时考虑两个序列 \(R= \{ P_0,P_1,…,P_x,Q_{x+\Delta+1},…,Q_t \},S=\{ Q_0,Q_1,…,Q_{x+\Delta},P_{x+1},…,P_s \}\)。显然 \(R\) 和 \(S\) 分别是 \(k=s+t−r\) 和 \(k=r\) 的一组合法解。

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

\[w(R)+w(S)−w(P)−w(Q)=c_{P_x,Q_{x+\Delta+1}}+c_{Q_{x+\Delta},P_{x+1}}−(c_{P_x,P_{x+1}} + c_{Q_{x + \Delta},Q_{x+\Delta+1}}) \]

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


在引理中令 \(s = x-1,t = x+1,r = x\) 可得 \(f(x) + f(x) \leq f(x-1) + f(x+1)\),即 \(f(x−1)−f(x)≥f(x)−f(x+1)\),即 \(f'(x)≥f'(x+1)\),故结论成立。

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

标签:浅谈,不等式,权值,凸性,满足,Delta,序列,四边形
From: https://www.cnblogs.com/came11ia/p/16638956.html

相关文章

  • 浅谈机器学习中的数据漂移问题
      也即在训练的时候的数据和在使用模型进行推断的时候的数据分布式不一样的,二者不是同分布的。 因为很多模型都是在线下训练好的,使用的是线下的参数和损失函数,线......
  • 浅谈数位DP
    动态规划,是OI中极其重要的一环。由于它的重要性,解决问题的广泛性,它衍生出了多种多样的DP。其中,有一种特别搞人的叫做数位DP思想数位DP是通过每一位数字去递推,来统计从......
  • 浅谈Python中的in,可能有你不知道的
    Python中的in,没那么简单,虽然也不难https://docs.python.org/zh-cn/3.9/reference/expressions.html#membership-test-operations6.10.2成员检测运算运算符in和no......
  • 浅谈嵌入式系统的持续集成
    持续集成(ContinuousIntegration(CI))和持续交付(ContinuousDelivery(CD))是现代软件开发中两个非常重要的概念。集成是完成交付和部署的前置条件,实现持续交付最大的难点是如......
  • 浅谈分块
    分块一,分块的基本思想分块是一种通过将序列分块和预处理以优化暴力的思想。一般来说,分块的时间复杂度为\(O(n\sqrt{n})\)。与其他的数据结构相比,时间复杂度更劣,但分块更......
  • Harley浅谈Linux的iptables
     简介  iptables是Linux防火墙系统的重要组成部分,iptables的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者由该设......
  • 浅谈浏览器垃圾回收机制
    浅谈浏览器垃圾回收机制GoldenSide关注0.2952019.02.1817:23:20字数1,158阅读6,844一、垃圾回收机制原理  由于字符串、对象和数组没有固定大小,所有当他......
  • 浅谈MVVM开发思想
    IT流行语:程序=算法+数据结构。还有一句话,程序=输入数据->数据处理->输出数据。如果以编程语言理解这句话,算法是方法,数据结构就是变量的组织形式,那么这句话可以理解......
  • 浅谈 Raft 分布式一致性协议|图解 Raft
    前言本篇文章将模拟一个KV数据读写服务,从提供单一节点读写服务,到结合分布式一致性协议(Raft)后,逐步扩展为一个分布式的,满足一致性读写需求的读写服务的过程。其中将配合引......
  • Harley浅谈Hadoop(HDFS)
     一、HDFS概述 1.1、HDFS产出背景及定义 1.1.1、HDFS产生背景   随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘......