题目链接: "WOJ1583" 题目分析: 大水题……我就来水个题解 倒序扫,单调栈维护单减序列,每个对象的答案是栈里它下面那个元素 代码: include define MAXN (1000000+5) using namespace std; inline int read(){ int cnt ...
分类:
其他好文 时间:
2019-01-19 21:48:06
阅读次数:
184
这道题是一道单调栈的题 1 题目描述 2 JDFZ在餐厅门前种了一排nn棵花,每棵花都有一个高度。浇花大爷会枚举所有的区间,然后从区间中找出一个高度最矮的花进行浇水。由于浇花大爷浇完水之后就精疲力竭了,所以请你帮助他计算每棵花都被浇了几次水。 3 4 输入格式 5 第一行一个整数nn。 第二行nn个 ...
分类:
其他好文 时间:
2019-01-19 20:10:01
阅读次数:
187
题目 "HDU 1506 Largest Rectangle in a Histogram" 做法 以$a_i$为最高高度,以$i$向左右扩展 找到$i$左边比$a_i$小的最右边的位置 找到$i$有边比$a_i$小的最左边的位置 简直是单调栈的模板题 My complete code cpp in ...
分类:
其他好文 时间:
2019-01-17 12:52:46
阅读次数:
218
分析 注意到跳跃的方向是一致的,所以我们需要维护一个数接下来跳到哪里去的问题。换句话说,就是对于一个数$A_i$,比它大的最小值$A_j$是谁?或者反过来。 这里有两种方案,一种是单调栈,简单说一下思路:维护一个递减的单调栈,每次放入元素时将比它大的栈顶元素弹出(说明这些元素都能在递减的情况下都能跳 ...
分类:
编程语言 时间:
2019-01-15 10:45:00
阅读次数:
285
还以为能用单调栈做出来,,想了老半天,最后发现模拟一下很好做的 按顺序把字符压栈即可 ...
分类:
其他好文 时间:
2019-01-06 00:04:26
阅读次数:
196
描述 Given a sequence, we define the seqence's value equals the difference between the largest element and the smallest element in the sequence. As an e ...
分类:
其他好文 时间:
2018-12-30 17:34:19
阅读次数:
213
考场上怕是石乐志。 状态设计还是很自然的,求什么设什么。 f[i]表示前i个人安排好,电梯最早回到0层的时间 转移的话,枚举上一次最后一个带走的是谁 f[i]=min(max(f[j],t[i])+2*max(ak,j<k<=i)) 线段树优化 后面的区间最大值,可以用单调栈记录,弹栈的时候,在线段 ...
分类:
其他好文 时间:
2018-12-25 14:30:58
阅读次数:
125
今天做周赛又碰到了单调栈的题目,之前没有做好总结,这次好好总结下 1.基本思想 单调栈求解的基本问题 在一个线性数据结构中,为任意一个元素找左边和右边第一个比自己大/小的位置,要求O(n)的复杂度 基本解法很容易想到O(n^2)的解法,关键是O(n)的解法,就需要借助单调栈了。单调栈的一大优势就是线 ...
分类:
其他好文 时间:
2018-12-24 02:31:43
阅读次数:
190
C++语言 基础算法 位运算 快速幂 模拟 枚举 递推 递归 分治 二分 三分 排序 归并排序 离散化 倍增 贪心 高精度 数据结构 前缀和 差分 栈 对顶栈 单调栈 队列 双端队列 循环队列 单调队列 ST表 链表 链式前向星 Hash表 二叉堆 Huffman树 并查集 路径压缩 按秩合并 扩展 ...
分类:
其他好文 时间:
2018-12-23 15:22:40
阅读次数:
465
建议不了解STL的读者先了解几个基本的队列的STL.这也是单调队列和单调栈一般都会用到的. 单调队列:建立一个队列,使队列一直具有单调性(满足单调递增或者单调递减),时间复杂度O(N). 那么我们应该如何做到"使队列一直具有单调性"呢? 以单调递增为例,我们O(N)扫描整个序列,每扫描到一个元素: ...
分类:
其他好文 时间:
2018-12-22 18:34:17
阅读次数:
450