单调队列 学习笔记
单调队列 学习笔记
单调队列算法,即维护一个具有单调性的队列。它的思想是在决策集合(队列)中及时排除一定不是最优解的选择(摘自《算法竞赛进阶指南》)。由于每个元素仅进队一次,出队一次,所以复杂度O(n)。它也是动态规划优化的一个重要方式。通常用于解决询问区间大小固定并且区间移动方向固定的最值问题。
其中,单调性通常为数值随下标单调变化
模板:
int a[N];//一个数列,不一定是数组形式
int l=1,r=1;//队头&队尾 指针
int M;//区间大小
int q[N];//q[ ]
原创
2021-10-28 09:51:25 ·
105 阅读 ·
0 评论