当前位置: 首页 > news >正文

单调队列与单调栈总结

Ref:http://blog.sina.com.cn/s/blog_6ffc3bde01015l2m.html
单调栈解决的是以某个值为最小(最大)值的最大区间,实现方法是:求最小值(最大值)的最大区间,维护一个递增(递减)的栈,当遇到一个比栈顶小的值的时候开始弹栈,弹栈停止的位置到这个值的区间即为此值左边的最大区间;同时,当一个值被弹掉的时候也就意味着比它更小(更大)的值来了,也可以计算被弹掉的值得右边的最大区间。
单调队列解决的是区间最小(最大)值,实现方法是:求区间最小(最大)值,就维护一个递增的双端队列,队中保存原始序列的标号,当即将入队的元素的值比队尾的元素的值小(大)的时候就不断弹掉队尾,知道出现比它更小的值,当即将入队的元素队首元素的跨度(即将入队元素的序号到队首元素序列的区间)大于规定区间时就不断弹掉队首,直到跨度小于或等于所规定的区间。如此可保证队首元素为最小(最大)值,(但不能保证队尾就是原始序列中的最大(最小)值),并维护区间长度。

相关文章:

  • CDOJ 卿学姐与公主 【分块 入门题】
  • 分块练习 B
  • 【CodeForces 676】B - Pyramid of Glasses
  • 【CodeForces 676】C - Vasya and String
  • 【智障题系列B】图论乱搞题
  • 【智障题系列C】序列问题
  • 几个细节问题
  • LIS LCS n^2和nlogn解法 以及LCIS
  • 【HDU 1423】Greatest Common Increasing Subsequence【LCIS 裸题】
  • 【SearchString Algorithm Training】Xiper的奇妙历险(1)
  • 【SearchString Algorithm Training】谭爷剪花布条
  • 【SearchString Algorithm Training】Xiper的奇妙历险(2)
  • 【codevs 1214】线段覆盖
  • 【codevs 1643】线段覆盖 3
  • 【codevs 3012】线段覆盖 4
  • 【391天】每日项目总结系列128(2018.03.03)
  • 2019.2.20 c++ 知识梳理
  • CSS盒模型深入
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Laravel 菜鸟晋级之路
  • Mocha测试初探
  • Node 版本管理
  • php面试题 汇集2
  • php中curl和soap方式请求服务超时问题
  • React as a UI Runtime(五、列表)
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 安卓应用性能调试和优化经验分享
  • 关于extract.autodesk.io的一些说明
  • 前端面试总结(at, md)
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 做一名精致的JavaScripter 01:JavaScript简介
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 正则表达式-基础知识Review
  • #大学#套接字
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (k8s中)docker netty OOM问题记录
  • (MATLAB)第五章-矩阵运算
  • (python)数据结构---字典
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (转)linux 命令大全
  • (转)nsfocus-绿盟科技笔试题目
  • (转)Windows2003安全设置/维护
  • (转)winform之ListView
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .dwp和.webpart的区别
  • .pop ----remove 删除
  • [ C++ ] STL---string类的模拟实现
  • [ vulhub漏洞复现篇 ] Jetty WEB-INF 文件读取复现CVE-2021-34429