![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构——栈
MILLOPE
这个作者很懒,什么都没留下…
展开
-
CF1156E Special Segments of Permutation(单调栈)
题目给定一个长度为nnn的排列ppp,求有多少区间[l,r][l,r][l,r]满足,p[l]+p[r]=maxp[i]p[l]+p[r]=max{p[i]}p[l]+p[r]=maxp[i],其中l<=i<=rl<=i<=rl<=i<=r题解预处理出左边第一个大于iii的数和右边第一个大于iii的数(单调栈维护一下即可)左端点显然只能在(L,i)(L...原创 2019-10-31 11:26:42 · 175 阅读 · 1 评论 -
直方图中最大的矩形(单调栈)
题目题目传送门题目传送门题目传送门题解如果矩形的高度从左向右单调递增,那么我们可以枚举每个矩形的高度,并把宽度延伸到左右边界,来计算面积,从中取得最大值来得到答案。但实际上矩形高度不可能是单调递增的。那么我们可以维护一个高度递增且宽度递增的矩形序列。具体过程:我们可以建一个栈用来保存每个矩形的高度。从左向右遍历每个矩形,如果高度比栈顶高直接进栈。如果高度小于栈顶,则不断取出栈...原创 2019-06-28 18:27:09 · 1680 阅读 · 0 评论 -
Editor(对顶栈)
题目题目传送门输入样例8I 2I -1I 1Q 3LDRQ 2输出样例23题解sumsumsum表示前缀和,pA,pBp_A,p_BpA,pB表示栈A,BA,BA,B的下标,fff为AAA的前缀和的最大值。建立两个栈,栈AAA存储序列开头到光标位置,栈BBB存储光标位置到结尾code#include <bits/stdc++.h>...原创 2019-06-28 18:37:59 · 407 阅读 · 0 评论