跳转至

单调队列优化

泛化ψ(`∇´)ψ

这一类问题的常见特征是 1D1D, 也就是一维状态一维转移。

内层循环的取值范围由外层循环决定

并且在外层循环变量固定 或者 单调变化的情况下,内层循环所枚举的决策集合是单调变化的

不一定非的要头和尾增加(减少)的一模一样,只要保证经过的位置不会再被经过一次就好(甚至可以是头一直不动,尾一直增加)。

这时候,因为内层循环变量的取值区间单调变化,就可以利用单调队列的思想进行优化。

使用一个单调队列维护决策点的可能取值,并且保持队头是最优解,如果队头超过了限制,弹出,如果队尾新加入的元素比已经在队列里面的更加优秀,排除冗杂决策。

然后利用队头元素进行决策即可。

因为之前写的太烂了,我又比较懒,刚好被抓去当工具人的时候写过讲稿,所以就看看当时写的东西吧,比较基础,应该也很好理解。

等我弄清楚怎么内嵌就会放过来,这里只给出 link:

Download mdp.pptx


最后更新: August 5, 2023