单调队列
来源:互联网 发布:软件安装app 编辑:程序博客网 时间:2024/04/28 22:41
单调队列
前置技能点:
队列
问题:
对于一个长度为
struct Node{ int id; int v;//value}a[NodeNum];//a[i]的大小由成员变量v决定
思路:
可以以
可以通过线段树进行处理,从而减小查询任意一个区间的最值的复杂度,建树复杂度为
还可以将
概念引入:
设
若
否则
设
若
否则
那么就可以维护一个单调递增的队列,用于存储当前区间的最小元素,以及当前区间内队列中每一个元素右边的子序列中的最小元素。
当求解
若
同时将
拓展:
- 对于弹出队首,删除队尾元素以及压入元素条件的判定
求凸包 - 对于其他性质的运用
单调栈
例题:
- poj 2823
给定序列长度n<106 ,窗口大小k ,将窗口放到序列上,从左往右一格一格移动窗体,输出每个状态窗体中数字的最小值和最大值。
解题报告
- 单调栈 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 单调队列
- 文件操作类
- linux相关
- 科技随想
- 计算机网络——TCP协议中的三次握手四次挥手以及11种状态转换
- Python类中方法的self参数
- 单调队列
- jQuery复选框-全选、全不选
- 最完整的Oracle11g 概述
- oracle11g 手动卸载方法
- Hibernate5.x 使用SchemaExport生成数据表
- 11-分类的线性模型
- Android开发之实现RecyclerView万能适配器
- C#基础知识(十)——对象引用
- 高斯消元初步