四边形不等式优化 DP 笔记

一、四边形不等式

若矩阵 \(w\) 满足如下两个条件之一,则它满足四边形不等式:

\[w(a, c) + w(b, d) \leq w(a, d) + w(b, c) \quad \quad \quad (a \leq b \leq c \leq d) \]

\[w(i, j) + w(i + 1, j + 1) \leq w(i, j + 1) + w(i + 1, j) \quad \quad \quad (i \lt j) \]

二、DP 决策单调性

下文假设 \(w(j,i)\) 的计算复杂度为 \(O(1)\)

形式一:1D 动态规划

若对于转移方程 \(\displaystyle f_i = \min_{j=1}^{i-1} \{ f_{j-1} + w(j, i) \}\)\(i\) 的最优决策点 \(p_i\)\(i\) 递增单调不降,则它有决策单调性。

定理:若 \(w\) 矩阵满足四边形不等式,则 \(f\) 具有决策单调性。

形式二:序列分段

对于另一种 DP 形式:\(f_{i,j}\) 表示一个序列前 \(i\) 个数分为 \(j\) 个连续段,转移应当枚举这一段的左端点 \(k\)

\[f_{i,j} = \min\limits_{k=1}^{i-1} \{ f_{k,j-1} + w(k+1,i) \} \]

定理:若 \(w\) 矩阵满足四边形不等式,则固定 \(j\)\(f_{?,j}\) 第一维也具有决策单调性。

形式三:区间 DP

经典例题:石子合并。

\[f_{i,j} = \min\limits_{k=i}^{j-1} \{ f_{i,k} + f_{k+1,j} \} + w(i,j) \]

定理
\(w\) 矩阵满足四边形不等式,则 \(f\) 也满足四边形不等式。
\(p_{i,j}\)\(f_{i,j}\) 的最优决策点 \(k\),那么满足 \(p_{i,j-1} \leq p_{i,j} \leq p_{i+1,j}\),等价于 \(p\)每行每列单调不减

根据该定理,方程可以改写为:

\[f_{i,j} = \min\limits_{k=p_{i,j-1}}^{p_{i+1,j}} \{ f_{i,k} + f_{k+1,j} \} + w(i,j) \]

由于第 \(len\) 层有 \(len\) 个决策点,相邻两个区间只有决策点会被重复计算一次,所以复杂度降低至 \(O(n^2)\)

三、决策单调性的转移

对于形式三直接入上文转移即可,接下来介绍前两种形式的求解。

解法一:二分队列

在线,大致思想是:原本需要对 \(p\) 数组做区间覆盖,不采用线段树等数据结构而是用队列模拟。
下图来自李煜东《算法竞赛进阶指南》。

4.PNG

解法二:分治

离线。
考虑现在要求解 \([l, r]\) 的 DP 值,该区间的最优决策点在 \([pl, pr]\)
先暴力扫一遍 \([pl, pr]\) 求出该区间 \(mid\) 下标的最优决策点。
然后分治 \([l, mid-1] - [pl, p_{mid}]\)\([mid+1, r] - [p_{mid}, pr]\)

四、例题

posted @ 2025-08-22 00:09  Conan15  阅读(12)  评论(0)    收藏  举报