ummm,,,都是单调系列就都一起学了算了思想应该都差不多呢qwq

其实感觉这俩没有什么可说的鸭QAQ就是维护一个单调的东西,区别在于单调栈是一段进一段出然后单调队列是一段进另一段出?没了

好趴辣重点港下适用范围qwq

1)直方图最大矩形(单调栈[X]

rt,给个直方图求最大矩形面积

换一个表达,给一个序列,求一个子序列使得这个子序列中的min*序列长度max,一样的意思嗷注意一下?

昂首先想如果高度单调递增怎么搞,显然是贪心地把每个高度算出它延伸到右边界的面积取max

那如果右边这个比左边矮呢

显然左边高的那部分就没有贡献了,于是可以被弹掉,变成和右边的高度相等的矩形

从这里可以得出维护一个高度单调增的单调栈就欧克辣,然后每次弹出的时候就是这个高度能延伸到的最边上于是更新一波就完成辽qwq

2)最大子序和(单调队列[X]

给一个序列,找出长度<=m的连续子序列使得和max

昂首先区间和显然是用前缀和+做差嘛

然后考虑确定了右端点r,那找的就是minSi且i∈[r-m,r-1]

然后显然的是如果有一个si的右边有小于它的它肯定无法起贡献了,可以弹掉

另外还有一个就是当l已经不在[r-m,r-1]范围内的时候也可以一直弹弹弹

3)最大数(单调栈[X]

给一个序列,找出最后L个数中最小的数

昂和前面那个的思想差不多,而且我写了题解来着?不想写了qwq就放个链接算了qwq

4)不会总结了QAQ(单调栈[X]

给一个序列,求某个数的左边比它大的数之间有几个数

ummm就是开个递减的单调队列,弹的时候记个size就好辣!

5)不会总结名字QAQ(单调栈[X]

给一个序列,求一个子序列使得这个子序列中的min*序列之和max

说实话一开始看到这题没想到QAQ所以写个题解算了QAQ

6)区间内最大最小值(单调队列+单调栈[X]

给一个序列,一个长度,求每个点为起点的给定长度区间内的min和max

挺经典的还?其实就滑动窗口qwq应该是最模板的qwq不说了实在太简单QAQ

大概就这几类题目?先这样,想到了再补充!over!

单调栈&单调队列学习笔记!的更多相关文章

  1. 单调栈&单调队列入门

    单调队列是什么呢?可以直接从问题开始来展开. Poj 2823 给定一个数列,从左至右输出每个长度为m的数列段内的最小数和最大数. 数列长度:\(N <=10^6 ,m<=N\) 解法① ...

  2. 小结:单调栈 & 单调队列

    概要: 对于维护信息具有单调性的性质或者问题可以转化为具有单调性质的模型的题,我们可以考虑用单调栈或单调队列. 技巧及注意: 技巧很多,只要能将问题转化为单调性问题,就好解决了. 当维护固定长度的单调 ...

  3. 单调栈&单调队列

    最近打了三场比赛疯狂碰到单调栈和单调队列的题目,第一,二两场每场各一个单调栈,第三场就碰到单调队列了.于是乎就查各种博客,找单调栈,单调队列的模板题去做,搞着搞着发现其实这两个其实是一回事,只不过利用 ...

  4. [CSP-S模拟测试]:Cover(单调栈++单调队列+DP)

    题目传送门(内部题126) 输入格式 第一行两个个整数$n,m$表示区间的长度与彩灯的数量. 接下来$m$行,每行三个整数$l_i,r_i,a_i$表示一条彩灯能够覆盖的区间以及它的美观程度. 输出格 ...

  5. HZNU-ACM寒假集训Day10小结 单调栈-单调队列

    数据结构往往可以在不改变主算法的前提下题高运行效率,具体做法可能千差万别,但思路却是有规律可循 经典问题:滑动窗口  单调队列O(n) POJ 2823 我开始写的: TLE 说明STL的库还是有点慢 ...

  6. POJ 3250 Bad Hair Day --单调栈(单调队列?)

    维护一个单调栈,保持从大到小的顺序,每次加入一个元素都将其推到尽可能栈底,知道碰到一个比他大的,然后res+=tail,说明这个cow的头可以被前面tail个cow看到.如果中间出现一个超级高的,自然 ...

  7. ACM数据结构-单调栈、队列

    1.最大数 代码: #include <stdio.h> #include <memory.h> #include <math.h> #include <st ...

  8. 2018/2/11 ELK技术栈之ElasticSearch学习笔记二

    终于有时间记录一下最近学习的知识了,其实除了写下的这些还有很多很多,但懒得一一写下了: ElasticSearch添加修改删除原理:ElasticSearch的倒排索引和文档一旦生成就不允许修改(其实 ...

  9. 2018/2/5 ELK技术栈之ElasticSearch学习笔记

    npm config set registry https://registry.npm.taobao.org npm config get registry 支持跨域访问http.cors.enab ...

随机推荐

  1. 【译】Kafka学习之路

    一直在思考写一些什么东西作为2017年开篇博客.突然看到一篇<Kafka学习之路>的博文,觉得十分应景,于是决定搬来这“他山之石”.虽然对于Kafka博客我一向坚持原创,不过这篇来自Con ...

  2. JS - 点击事件排除父级标签

    点击事件排除父级标签,这里使用的是stopPropagation()方法.event.stopPropagation(); 对了,这里还用了解除click事件,unbind. 下面这篇博文,介绍挺全的 ...

  3. 【Python】给程序加个进度条

    对于开发或者运维来说,使用 Python 去完成一些跑批任务,或者做一些监控事件是非常正常的情况.那么如何有效地监控任务的进度?除了在任务中加上 Log 外,还能不能有另一种方式来了解任务进展到哪一步 ...

  4. read by other session 等待事件。

    今天是2014-01-06,从今天开始,打算春节之前每天学习一个等待事件,今天就记录一下read by other session这个等待事件笔记. 什么是read by other session? ...

  5. css方法 - 移动端h5在iphonex的适配

    @media only screen and (device-width:375px) and (device-height:812px) and (-webkit-device-pixel-rati ...

  6. Android 本地tomcat服务器接收处理手机上传的数据之环境搭建

    上一篇:Android 使用tomcat搭建HTTP文件下载服务器   本篇文章   环境:win7 + jdk1.7 + tomcat v8.0.53   工具: 1.Eclipse  Eclips ...

  7. HDU 4004 The Frog's Games(二分答案)

    The Frog's Games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) ...

  8. 【 转】__try,__except,__finally,__leave异常模型机制

    转自:http://blog.csdn.net/wwl33695/article/details/8686458 导读: 从本篇文章开始,将全面阐述__try,__except,__finally,_ ...

  9. FileInputStream 和 FileOutputStream

    简介 FileInputStream和FileOutputStream都是用来处理二进制数据源磁盘文件的流的. 他们分别派生自顶层抽象类InputStream和OutputStream FileInp ...

  10. 使用atomic一定是线程安全的吗?

    这个问题很少遇到,但是答案当然不是.atomic在set方法里加了锁,防止了多线程一直去写这个property,造成难以预计的数值.但这也只是读写的锁定.跟线程安全其实还是差一些.看下面. @inte ...