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

原论文

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

一切还要从某位毒瘤把邮局加强到 \(5 \times 10^5\) 还自己不会证明说起


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

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

其中特殊性质是矩阵 \(c\) 满足四边形不等式,即 \(\forall i < j \leq k < l,c_{i,k} + c_{j,l} \leq c_{i,l} + c_{j,k}\)。

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


为此我们需要证明以下结论:

  • \(\forall 1 \leq s < r < t \leq n-1\),\(f(r) + f(s + t - r) \leq f(s) + f(t)\)。

Proof.

设序列 \(P\) 为 \(f(s)\) 对应的最优解,序列 \(Q\) 为 \(f(t)\) 对应的最优解,\(\Delta = r - s\)。根据鸽巢原理或者归纳可以知道一定存在 \(x \in [0,s-1]\) 满足 \(P_x < Q_{x+\Delta} < Q_{x + \Delta + 1} \leq P_{x+1}\)。此时考虑两个序列 \(R = \{P_0,P_1, \ldots, P_x,Q_{x + \Delta + 1},\ldots,Q_t\} , S = \{Q_0,Q_1,\ldots,Q_{x + \Delta},P_{x+1},\ldots,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}})\)

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


使用以上结论有 \(f(x) + f(x) \leq f(x-1)+f(x+1)\),即 \(f(x-1)-f(x) \geq f(x)-f(x + 1)\),即 \(f'(x) \geq f'(x+1)\),故结论成立。

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

上一篇:搜索算法机侧


下一篇:Code