DP 总集

决策单调性/四边形不等式

满足四边形不等式(交叉\(\leq\)包含),即满足 \(a \leq b \leq c \leq d\) 时, \(w(a, c)+w(b,d) \leq w(a,b) + w(c, d)\) 的满足决策单调性。

大约有几种写法:

  • 分治:适用于相邻层之间转化

例题:The Bakery

考虑求出 \(f[i][k]\) \((1\leq i \leq n)\) 的值:

分治 \((l, r, x, y)\) 表示 \(f[i][k]\) \((l\leq i\leq r)\) 的决策点在 \(x\leq j\leq y\) 之间,枚举 \(mid = l + r >>1\),求出其决策点 \(z\) ,然后递归解决 \((l,mid-1,x,z),(mid+1,r,z,y)\)

  • 单调队列:适用于同一层的转换

例题:诗人小G

考虑维护一个单调队列里面有每个决策点,其中 \(t[i]\) 每个决策点 \(Mamba\) \(Out\) 的下标(时间)。

考虑怎么加入一个决策点:如果 \(r-1\)\(Out\) 时间比加入决策点 \(i\)\(r\)\(Out\) 时间后的话,我们把 \(r\) 从单调队列中肘出去。一直到满足条件时才把当前决策点加入。

考虑最优决策点?队头就是!

posted @ 2024-09-16 10:59  gzyqwq  阅读(3)  评论(0编辑  收藏  举报