OI学习笔记6:决策单调性
决策单调性
一、决策单调性
1、定义。
- 定义:状态转移方程中,记 \(p[i]\) 为令 \(F[i]\) 取到最值的转移位置 \(j\) 的值(即 \(p[i]\) 是 \(F[i]\) 的最优决策),若 \(p\) 数组在 \([1,N]\) 单调非降,则称 \(F\) 具有决策单调性。
2、双指针。
- 如果在满足决策单调性的同时,保证后一次与前一次的函数取值也形成单调性,那么就可以根据值的增与减确定最优决策点的位置,此时就可使用双指针进行扫描。
二、四边形不等式
1、四边形不等式。
- 定义 \(w(x,y)\) 为整数域上一二元函数。
- 若对于 \(D_w\) 上任意整数 \(a,b,c,d\),其中 \(a\leq b\leq c\leq d\),都有\[w(a,d)+w(b,c)\geq w(a,c)+w(b,d) \]成立,则称 \(w\) 满足四边形不等式。(跨越 \(+\) 包含 \(\geq\) 交叉)
2、拓展形式。
- 若对于 \(D_w\) 上任意 \(a,b\in Z\),且 \(a<b\),都有\[w(a,b+1)+w(a+1,b)\geq w(a,b)+w(a+1,b+1) \]成立,则 \(w\) 满足四边形不等式。
3、区间包含单调性。
- 若对于 \(D_w\) 上任意整数 \(a,b,c,d\),且 \(a\leq b\leq c\leq d\),都有\[w(a,d)\geq w(b,c) \]成立,则称 \(w\) 满足区间包含单调性。
4、满足四边形不等式的函数类。
(1)四条性质。
- 性质 \(1\):若函数 \(w_1(l,r),w_2(l,r)\) 均满足四边形不等式(或区间包含单调性),则对于任意 \(c_1,c_2\geq 0\),函数 \(c_1w_1+c_2w_2\) 也满足四边形不等式(或区间包含单调性)。
- 性质 \(2\):若存在函数 \(f(x),g(x)\) 使得 \(w(l,r)=f(r)-g(l)\),则函数 \(w\) 满足四边形不等式。当函数 \(f,g\) 单调增加时,函数 \(w\) 还满足区间包含单调性。
- 性质 \(3\):设 \(h(x)\) 为一单调增加的下凸函数,若函数 \(w(l,r)\) 满足四边形不等式并且满足区间包含单调性,则复合函数 \(h(w(l,r))\) 也满足四边形不等式和区间包含单调性。
- 性质 \(4\):设 \(h(x)\) 为一下凸函数,若函数 \(w(l,r)\) 满足四边形恒等式并满足区间包含单调性,则复合函数 \(h(w(l,r))\) 也满足四边形不等式。
(2)部分性质的证明(性质 \(3\))。
证明:
- 任取 \(l\leq l' \leq r'\leq r\),根据函数 \(w\) 对区间包含单调性有 \(w(l',r')\leq w(l,r)\) 成立,
又 \(\because h(x)\) 单调递增,
\(\therefore h(w(l',r'))\leq h(w(l,r))\),即复合函数 \(h\circ w\) 也满足区间包含单调性。 - 任取 \(l_1\leq l_2\leq r_1\leq r_2\),根据函数 \(w\) 满足四边形不等式,有:\[w(l_1,r_1)+w(l_2,r_2)\leq w(l_1,r_2)+w(l_2,r_1)······(1) \]对 \((1)\) 式移项,结合 \(w\) 满足区间包含单调性,有:\[0\leq w(l_1,r_1)-w(l_2,r_1)\leq w(l_1,r_2)-w(l_2,r_2) \]记 \(t=w(l_1,r_2)-w(l_2,r_2) \geq 0\),则:(证明性质 \(4\) 时 \((2)\) 式不等号变等号,不用单调性)\[w(l_1,r_1)\leq w(l_2,r_1)+t······(2) \]\[w(l_1,r_2)=w(l_2,r_2)+t······(3) \]由 \(h(x)\) 的单调性可知:\[h(w(l_1,r_1))-h(w(l_2,r_1))\leq h(w(l_2,r_1)+t)-h(w(l_2,r_1))······(4) \]\[h(w(l_1,r_2))-h(w(l_2,r_2))=h(w(l_2,r_2)+t)-h(w(l_2,r_2))······(5) \]令 \(\Delta h(x)=h(x+t)-h(x)\),则:\[\Delta h'(x)=h'(x+t)-h'(x) \]由于 \(h(x)\) 是一个下凸函数,因此导函数 \(h'(x)\) 单调递增,故 \(\Delta h(x)\) 也单调增加,由 \((4),(5)\) 可知:\[h(w(l_1,r_1))-h(w(l_2,r_1))\leq \Delta h(w(l_2,r_1)) \]\[\leq \Delta h(w(l_2,r_2))=h(w(l_1,r_2))-h(w(l_2,r_2)) \]即:\[h(w(l_1,r_1))+h(w(l_2,r_2))\leq h(w(l_1,r_2))+h(w(l_2,r_1)) \]这说明 \(h\circ w\) 也满足四边形不等式。
\(\square\)
三、优化 \(1D/1D\) 动态规划
1、定义。
- \(1D/1D\) 动态规划指状态数为 \(O(n)\),每一个状态决策量为 \(O(n)\) 的动态规划方程。
2、单调性证明。
- 一维线性动态规划方程\[F[i]=\displaystyle \min_{0\leq j<i}{\{F[j]+w(j,i)\}} \]由于 \(w(j,i)\) 与 \(j\) 相关,因此各个 \(j\) 间不一定满足单调性。
- 定理:一维决策单调性
- 在状态转移方程 \(F[i]=\displaystyle \min_{0\leq j<i}{\{F[j]+w(j,i)\}}\) 中,若 \(w\) 满足四边形不等式,则 \(F\) 具有决策单调性。
3、方法。
- 单调队列维护决策点。
- 整体二分维护决策点。
四、优化 \(2D/1D\) 动态规划
1、定义。
- \(2D/1D\) 动态规划指状态数为 \(O(n^2)\),每一个状态决策量为 \(O(n)\) 的动态规划方程。
2、二维区间动态规划方程。
- 在石子相并类DP中,二维区间动态规划方程被描述为:\[F[i,j]=\displaystyle\min_{i\leq k<j}{\{F[i,k]+F[k+1,j]+w(i,j)\}} \]
- 而在区间划分类DP中,二维区间动态规划方程被描述为:\[F[i,j]=\displaystyle\min_{k\leq j}{\{F[i-1,k]+w(k,j)\}} \]
- 定理 \(1\):
- 在 \(F[i,j]=\displaystyle\min_{i\leq k<j}{\{F[i,k]+F[k+1,j]+w(i,j)\}}\) 中,若函数 \(w\) 满足:
- 四边形不等式
- 区间包含单调性
则 \(F\) 也满足四边形不等式。
- 在 \(F[i,j]=\displaystyle\min_{i\leq k<j}{\{F[i,k]+F[k+1,j]+w(i,j)\}}\) 中,若函数 \(w\) 满足:
- 定理 \(2\):
- 在 \(F[i,j]=\displaystyle\min_{i\leq k<j}{\{F[i,k]+F[k+1,j]+w(i,j)\}}\) 中,记 \(P[i,j]\) 为令 \(F[i,j]\) 取到最小值的决策点,若 \(F\) 满足四边形不等式,则 \(\forall i<j\),有
\[P[i,j-1]\leq P[i,j]\leq P[i+1,j] \]
五、用决策单调性解决问题的大概步骤。
- 证明 \(w\) 满足四边形不等式与区间包含单调性。
- 推出 \(F\) 满足四边形不等式。
- 推出 \(P[i,j-1]\leq P[i,j]\leq P[i+1,j]\)。
时间复杂度为 \(O(n^2)\)。
拓展:\(GarsiaWachs\) 算法。