双端队列中的单调队列
1. 双端队列
普通队列是限制仅在队尾进行插入,在队头进行删除操作的线性表,队列的插入叫做入队列,队列的删除叫做出队列。
而双端队列则是放开了这个限制,在队头和队尾两端都可以进行入队和出队操作的队列。
这么细看,其实对于队头或者队尾端,相当于是一个栈,后进的先出。
双端队列看上去这么的像栈和队列的结合体。
而有些时候,双端队列中还有受限的双端队列:一个是输出受限的双端队列,另一个是输入受限的双端队列。
2. 输出受限的双端队列
输出受限的双端队列是:允许在一端进行入队和出队,但在另一端只允许入队的双端队列。
3. 输入受限的双端队列
输入受限的双端队列是:允许在一段进行入队和出队,但在另一端只允许出队的双端队列。
4. 单调队列
输出受限的双端队列里,有一种情况,那就是队列里的各元素之间的关系具有单调性,这叫单调队列。
单调队列,顾名思义,所有队列里的元素都是按递增(递减)的顺序队列,这个队列的头是最小(最大)的元素。
双端队列中的单调队列相关推荐
- Window_纪中_1326_单调队列
题目大意 给你一个度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表: 你的任务是找出窗口在各位置时的max value,min value ...
- python queue 查询是否在队列中_Python queue队列
Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...
- (补)算法训练Day13 | LeetCode150. 逆波兰表达式求值(栈应用);LeetCode239. 滑动窗口最大值(单调队列);LeetCode347. 前K个高频元素(小顶堆,优先级队列)
目录 LeetCode150. 逆波兰表达式求值 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考 LeetCode239. 滑动窗口最大值 1. 思路 2. 代码实现 3. 复杂度分析 4. ...
- linux进程间通信:消息队列实现双端通信
双端通信描述 利用消息队列针对发送接受消息的类型唯一性 进行多个客户端之间消息传递,而不需要server端进行消息转发. 同时消息队列的读阻塞和写阻塞特性(消息队列中已经写入数据,如果再不读出来,则无 ...
- 算法笔记--单调队列优化dp
单调队列:队列中元素单调递增或递减,可以用双端队列实现(deque),队列的前面和后面都可以入队出队. 单调队列优化dp: 问题引入: dp[i] = min( a[j] ) ,i-m < j ...
- Leetcode1696. 跳跃游戏 VI[C++题解]:dp和单调队列求滑动窗口最值
文章目录 题目分析 题目链接 单调队列板子链接 Deque知识补充 题目分析 题目重述:给定一个数组(有正数有负数)和一个步长k,从下标0处开始往前跳,每次最多往前跳k步.求跳到最后一个位置,得分之和 ...
- 算法竞赛入门与进阶 (二)单调队列、单调栈
栈(stack)和队列( queue ) 1.栈的定义:栈是限定仅在表头进行插入和删除操作的线性表(先进后出) 2.队列的定义:队列是一种特殊的线性表,特殊之处在于 它只允许在表的前端(front)进 ...
- CodeForces - 91B Queue(单调队列+二分)
题目链接:点击查看 题目大意:给出一个队列,队列中按照顺序有n只海豹在排队,每一只海豹都有一个数值表示年龄,如果在某只前面有年龄比他小的海豹,他会变得很不开心,不开心的值就是在比他年龄小的海豹中选择距 ...
- 【C++】单调队列 详解
今天我们来讲一下单调队列与栈. 这两种数据结构虽然没有在c++的stl中有直接的实现,但是在做题过程中,很容易有单调队列(栈)的使用,尤其是在一些比较难的题目中. 目录 单调队列 1.1 单调队列介绍 ...
最新文章
- 一文读懂生物医学领域的传感器
- 19、Java并发编程:线程间协作的两种方式:wait、notify、notifyAll和Condition
- oracle存储返回sql查询,如何做才能使record类型和table类型存储查询语句返回的多条记录?...
- nginx修改默认端口
- tomcat7下配置session复制和nginx做负载均衡
- openSSH离线升级(6.6->7.9),解决Linux安全漏洞(CVE-2018-15473)
- getLong not implemented for class oracle.jdbc.driver.T4CRowidAccessor
- java笔记:第6章 面向对象程序设计
- jade入门与初步使用
- ubuntu 下星际译王词典下载地址
- 无线AP,无线中继器与无线路由
- 【读书笔记】《乔布斯的魔力演讲》卡迈恩•加洛
- (短除法)求两个给定正整数的最大公约数和最小公倍数。
- 康宁发布第五代大猩猩玻璃 坚韧度更强更耐摔
- web前端期末大作业 html+css家乡旅游主题网页设计 湖北武汉家乡介绍网页设计实例
- 全新雅思模拟考试开启全国高校预热活动
- (1)从1开始写一个操作系统
- speedoffice(Excel)如何设置纸张大小
- 打开netlogo model 出现failed to launch JVM
- Spark任务执行流程
热门文章
- WinNT Win2K下实现进程的完全隐藏
- 每天作死一道题——1、2扑克牌魔术(趣题学算法)
- Windows10分盘管理
- Unity3D优化技巧系列二
- mysql的字符集修改_修改MySQL字符集
- Android APP适配全面屏手机的技术要点
- Navicat导入SqlServer备份的bak文件(超详细)
- android surfaceview 大小,Android设置SurfaceView任意大小、任意位置、保持预览宽高比与屏...
- Android Studio 模拟器无法访问互联网解决方法
- Django学习4:URL传参