DP 决策单调性优化
在动态规划中,我们通过子问题之间的 有序转移 来得出更大的子问题的解,其中每个状态可以由之前的合法的一系列状态转移得到;而 最优化 DP 问题比较特殊,每个状态的最终答案一定是由之前一系列情况中某 一种 最优的情况转移而来,我们称这种情况为当前求解的状态的 决策。而 决策单调性,就是在这样的最优化 DP 中可能出现的一种性质,使得每个状态的决策同时随着 DP 的顺序单调移动。如果一个 DP 具有决策单调性,那我们就可以利用它来降低转移的复杂度。
经典分段问题,将 \([1, n]\) 分段,连续的 \((l, r]\) 一段需要 \(w(l, r)\) 的代价,求最小代价。
一维状态的决策单调性优化
此时不限段数,设 \(f_i\) 表示前 \(i\) 个元素的最小代价,有方程 \(f_i = \min\limits_{0 \le j < i}\{f_j + w(j, i)\}\),我们记状态 \(i\) 的决策为 \(p_i\)。如果 \(f\) 具有性质使其中 \(p_i\) 非严格单调递增,我们就称 \(f\) 具有 决策单调性(一维)。
至于如何判断一个 DP 问题具有决策单调性,有两种常用方法:
- 写出暴力 DP 打表观察转移点
- 使用 四边形不等式 定理证明
四边形不等式
概念:设 \(w(x, y)\) 是定义在整数集合上的二元函数。若对于定义域上的任意整数 \(a, b, c, d\),其中 \(a \le b \le c \le d\),都有 \(w(a, d) + w(b, c) \ge w(a, c) + w(b, d)\) 成立,则称函数 \(w\) 满足 四边形不等式。
推论:前提不变,若对于定义域上的任意整数 \(a, b\),其中 \(a < b\),都有 \(w(a, b + 1) + w(a + 1, b) \ge w(a, b) + w(a + 1, b + 1)\) 成立,则函数 \(w\) 满足 四边形不等式。
简言之:交叉 \(\le\) 包含
判定定理
在状态转移方程 \(f_i = \min\limits_{0 \le j < i}\{f_j + w(j, i)\}\) 中,若函数 \(w\) 满足四边形不等式,则 \(f\) 具有决策单调性。
证明:对于任意 \(y < x\),有 \(p_y \le p_x\)
反证法,假设有 \(p_y > p_x\)
由于 \(p_x\) 为 \(x\) 的最优决策,有:
又有 \(p_x < p_y < y < x\),且 \(w\) 满足四边形不等式,有:
同向不等式相加,得:
得到对于 \(y\),\(p_x\) 比 \(p_y\) 更优,矛盾,原命题得证。
总体思路就是 决策最优性 + 四边形不等式,最后得出 \(f\) 决策单调。形象而言,就是 \(a \to d, b \to c\) 的转移值要更大些,所以 \(a \to c, b \to d\) 的转移会更优,这是对 \(f\) 决策单调性的感性理解。
二维状态的决策单调性优化
此时要求分 \(k\) 端,设 \(f_{i, j}\) 表示前 \(j\) 个元素分了 \(i\) 段时的最小代价,有方程 \(f_{i, j} = \min\limits_{0 \le k < j}\{f_{i - 1, k} + w(k, i)\}\),我们记状态 \((i, j)\) 的决策为 \(p_{i, j}\)。如果 \(f\) 具有性质使其中 \(p_{i, j}\) 在决策矩阵上 行、列 都非严格单调递增,我们就称 \(f_{i, j}\) 具有 决策单调性(二维)。

而判定二维状态的 DP 问题具有决策单调性,需要两个条件:
- 上文提到的 \(w\) 函数满足 四边形不等式
- 具有 区间包含单调性
区间包含单调性
概念:设 \(w(x, y)\) 是定义在整数集合上的二元函数。若对于定义域上的任意整数 \(a, b, c, d\),其中 \(a \le b \le c \le d\),都有 \(w(b, c) \le w(a, d)\) 成立,则称函数 \(w\) 满足 区间包含单调性。
判定定理
如果 \(w(x, y)\) 符合四边形不等式和区间包含单调性,则 \(f_{i, j}\) 符合四边形不等式,且它的最优决策点 \(p_{i, j}\) 满足 \(p_{i - 1, j} \le p_{i, j} \le p_{i, j + 1}\)。

一维二维单调性的探讨与应用
浙公网安备 33010602011771号