简记决策单调性

单调矩阵

定义

对于矩阵 A,定义 mini(A) 表示最大的 k 满足 Ai,k=minjAi,j,即第 i 行最靠后的最小值位置 .

定义:对于 i<j 满足 mini(A)minj(A) 的矩阵称作单调矩阵 . 若一个矩阵 A 的所有子矩阵均为单调矩阵,则称为完全单调矩阵 .

常规意义上的决策单调性问题就是单调矩阵上求列最小值的问题 .

对于任意 i1<i2j1<j2 满足 Ai1,j1+Ai2,j2Ai1,j2+Ai2,j1,则称矩阵 A 满足四边形不等式 .

一个矩阵满足四边形不等式,则称其为蒙日矩阵或者蒙日阵 .

定理:矩阵 A 满足四边形不等式当且仅当对于任意 i,j 满足 Ai,j+Ai+1,j+1Ai,j+1+Ai+1,j . 证明考虑二维差分即可 .

显然蒙日阵均为完全单调矩阵,所以满足四边形不等式可以导出满足决策单调性 .

蒙日阵的生成

蒙日矩阵乘法((min,+) 矩阵乘法):

(A×B)i,j=mink{Ai,k+Bk,j}

断言:若 A 是蒙日阵,则下列矩阵都是蒙日阵:

  • AT .
  • λA 其中 λ0 .
  • A 的某一行或列上全体加常数 c 后得到的矩阵 .

A,B 是蒙日阵,则 A+BAB 都是蒙日阵 .

蒙日阵的乘积仍是蒙日阵

A,B 是蒙日阵,C=AB . 考察 i1i2j1j2k1Ci1,j2 取到最小值的位置,k2Ci2,j1 取到最小值的位置 . 不失一般性,令 k1k2 .

则:

Ci1,j1+Ci2,j2(Ai1,k1+Bk1,j1)+(Ai2,k2+Bk2,j2)=(Ai1,k1+Ai2,k2)+(Bk1,j1+Bk2,j2)(Ai1,k1+Ai2,k2)+(Bk1,j2+Bk2,j1)=(Ai1,k1+Bk1,j2)+(Ai2,k2+Bk2,j1)=Ci1,j2+Ci2,j1

即得原命题 .

一些常见的蒙日阵 A 的例子:

  • Ax,y=min{x,y} .
  • Ax,y=max{x,y} .
  • Ax,y=xy .
  • Ax,y=|xy|p 其中 p1 .
  • Ax,y=i=1nj=ymdi,j 其中 di,j0 .
  • Ax,y=[x=k]vk .
  • Ax,y=[y=k]vk .
  • Ax,y=f(xy) 其中 f 下凸 .
  • Ax,y={f({Tx,,Ty})xy+otherwise. 其中 fS 上的次模函数,T2S 中的任意 |S| 个不同元素 .
    注:函数 fS 上的次模函数当且仅当对于任意 X,Y2Sf(X)+f(Y)f(XY)+f(XY) .

一维决策单调性

问题描述

考虑两种 DP:

  1. 对于 dpi,j=mink<j{dpi1,k+wk,j},注意到相当于每次乘 WT 加若干列 dpi1,y 构成的矩阵,所以若 W 是蒙日阵则 DP 有决策单调性 .
  2. 对于 dpi=minj<i{dpj+wj,i},可以类似分析出决策单调性 .

后称第一种 DP 为离线决策单调性,第二种 DP 为在线决策单调性 . 假设 w 可以 O(1) 计算 .

下面介绍解决两类问题的线性对数算法,线性算法在 OI 中没啥用就不说了 .

第一类问题又称为决策单调性最短路问题,可以证明答案一定是凸的:[JOISC 2023 Day3] Chorus .

分治

分治可以解决离线决策单调性的问题 .

solve(l,r,L,R) 表示计算 lr 行的 mini(A),且 Lmini(A)R,每次取中点 m=l+r2minm(A),分别处理 solve(l,m1,L,minm(A)),solve(m+1,r,minm(A),R) 即可 .

O(logn) 层,每层 O(m) 个点,故复杂度为 O(m) .

这里可以注意一点:如果每次暴力移动指针计算所有 A,总的移动距离是线性对数级别的:CF868F .

二分栈

动态维护每个列 i 对应取到最小值的行区间 [li,ri] . 依次插入每个列 i:

  • 若栈不为空且栈顶元素 j 满足 Alj,iAlj,j,弹栈,然后重复操作 .
  • 若栈为空则加入 li=1,ri=n .
  • 否则,取栈顶元素 j,二分出最大的 k 满足 Ak,j<Ak,i 然后令 rjk,若 rjn 则加入 li=k+1,ri=n .

省流:对于任意两列,左边的列在一段前缀优,右边的列在一段后缀优,二分出分界点 .

显然时间复杂度为 O(mlogn) .

二维决策单调性

最优搜索树问题

问题:

dpi,j={0ijminik<j{dpi,k+dpk+1,j}+wi,ji<j

定义:若方阵 A 满足对于任意 i1i2j2j1 都有 Ai1,j1Ai2,j2 则称 A 满足区间包含单调性 .

定理:若 w 满足四边形不等式和区间包含单调性,则 dp 满足四边形不等式 .

证明

只需证对于任意 i1i2j1j2 满足 dpi1,j1+dpi2,j2dpi1,j2+dpi2,j1 .

j2i1 归纳,j2i11 时显然 .

dpi,j,x=wi,j+dpi,x+dpx+1,j . 讨论:

  • i2=j1,则需要证明三角形不等式 dpi1,j1+dpj1,j2dpi1,j2,令 dpi1,j2 的最优决策点是 uj1,则:

    dpi1,j1+dpi2,j2dpi1,j1,u+dpj1,j2=wi1,j1+dpi1,u+dpu+1,j1+dpj1,j2wi1,j2+dpi1,u+dpu+1,j2=dpi1,j2

    u>j1 类似 .
  • i2j1,令 dpi1,j2dpi2,j1 的最优决策点分别为 uv,则:

    dpi1,j1+dpi2,j2dpi1,j1,u+dpi2,j2,v=(wi1,j1+wi2,j2)+(dpi1,u+dpi2,v)+(dpu+1,j1+dpv+1,j2)(wi1,j2+wi2,j1)+(dpi1,u+dpi2,v)+(dpu+1,j2+dpv+1,j1)=dpi1,j2+dpi2,j1

    u>v 类似 .

证明完毕 .

定理:设 dpi,j 的最优决策点为 Ki,j,则 Ki1,jKi,jKi,j+1 .

证明:下面证明 Ki,jKi,j+1,另一边类似 .

构造:

Ap,q={wi,q+dpi,p+dpp+1,qip<q+otherwise

那么 A 是蒙日阵,且 Ki,j=minj(A),所以有单调性 .

那么按区间长度依次计算 dpK 即可做到 Θ(n2) 时间复杂度 .

蒙日矩阵乘法

问题:给两个蒙日矩阵 A,B,求 C=AB .

定理:令 Ki,jCi,j 最小的最优决策点,则 Ki,j1Ki,jKi+1,j .

类似地,也只需要证明 Ki,j1Ki,j .

若存在 j1<j2 使得 Ki,j1>Ki,j2 . 令 Ki,j1=k,Ki,j2=l,则:

Ci,j1+Ci,j2=(Ai,k+Bk,j1)+(Ai,l+Bl,j2)(Ai,k+Bk,j2)+(Ai,l+Bl,j1)>Ci,j2+Ci,j1

矛盾!则即得 Ki,j1Ki,j2 .

那么可以用和上一节类似的方法 Θ(n2) 计算蒙日矩阵乘法:序列变换 .

posted @   yspm  阅读(254)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
历史上的今天:
2023-08-09 Max_QAQ 计算几何
😅​
点击右上角即可分享
微信分享提示