【单调队列 / 单调栈】
sugarbliss
我想要的不多,只是和多数人不一样。
展开
-
POJ - 2823 Sliding Window(单调队列)
题目链接:https://vjudge.net/problem/POJ-2823 题意:给定一个数列,从左至右输出每个长度为k的数列段内的最小数和最大数。 思路:单调队列维护两端,它的头端可以出数,尾部可以进数,通常用于解决局部性的最值问题。单调栈只维护一端,通常维护全局的单调性。单调栈大小没有上限,而单调队列通常有大小限制。所以本题选择用单调队列解。 代码中数组的解释: 数组用来表示一个单调队列 数组表示单调队列里每个元素在原数组中的下标 本题只需维护两个队列(单调递减队列,头部肯定是最大值,.原创 2020-05-23 11:19:20 · 248 阅读 · 0 评论 -
HDU -1506 - Largest Rectangle in a Histogram(单调栈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1506 思路1:利用单调栈,可以找到从左 / 右遍历第一个比它小 / 大的元素的位置,我们可以用这个性质预处理每一个矩形高度左右边界(也就是第一个比当前高度小的元素的位置),当我们知道左右第一个比它小的数,去掉这两个比它小的,剩下的都是比它大的了,然后就可以用当前这个高度作为矩形的高度求面积,最后取个...原创 2019-03-19 16:10:13 · 194 阅读 · 0 评论 -
poj-3250-Bad Hair Day(单调栈)
题目链接:http://poj.org/problem?id=3250 题意:给你n头牛,每头牛都只能看到比它高的牛,让你求所有牛向右看能看到的总的个数。 #include<stdio.h> #include<algorithm> #define ll long long using namespace std; const int N = 800090; ll to...原创 2019-03-19 16:27:36 · 178 阅读 · 0 评论 -
Educational Codeforces Round 64 (Rated for Div. 2)E. Special Segments of Permutation(单调栈+分治)
题目链接:https://codeforces.com/contest/1156/problem/E 题意:给你1 - n的序列并且这n个数只出现一次,定义区间中的最大值为,对于区间,如果,则称这个区间为特殊区间,问你特殊区间有多少个? 思路:用单调栈预处理,对于位置从左往右第一个比大的数的位置,从右往左第一个比大的数的位置,那么对于区间都是比小的数,区间也都比小,也就是说是区间的最大值,知道...原创 2019-05-03 16:12:50 · 230 阅读 · 0 评论 -
2019牛客暑期多校训练营(第一场)A - Equivalent Prefixes(单调栈 or 二分+分治+ST表)
题目链接:https://ac.nowcoder.com/acm/contest/881/A 题意:两个长度为n的数组,求最大的m,使得1到m之内的所有区间的最小值的位置相同。 思路1:构造两个单调递减栈,当栈内元素个数不同时显然不符合题意break即可。 #include <bits/stdc++.h> using namespace std; const int N = 1...原创 2019-07-19 14:16:08 · 166 阅读 · 0 评论 -
51nod 1158 全是1的最大子矩阵(单调栈)
题目链接:http://www.51nod.com/Challenge/Problem.html#problemId=1158 思路:与这一题Largest Rectangle in a Histogram很像,只不过本题需要做m次单调栈(因为有m行),先处理出每一行矩形的高度,然后以每一行为底求矩形的面积即可。 #include <bits/stdc++.h> using na...原创 2019-07-21 17:18:24 · 236 阅读 · 0 评论 -
2019牛客暑期多校训练营(第二场)H - Second Large Rectangle(单调栈)
题目链接:https://ac.nowcoder.com/acm/contest/882/H 题意:求全是1的次大子矩阵。 思路:全是1的最大子矩阵的变形,不能直接把所有的面积存起来然后排序取第二大的,因为次大子矩阵可能在最大子矩阵里面比如: 1 0 0 1 1 1 1 1 1 如果全部存起来排序取第二大输出是3,正确答案是4。所以我们求面积的...原创 2019-07-21 17:35:48 · 283 阅读 · 0 评论