单调栈
lzk_1049668876
stay hungry stay foolish
展开
-
【poj3250 牛的视野 Bad Hair Day】【单调栈】【寻找它和它右边第一个比它大的数之间有多少个数】
【链接】http://poj.org/problem?id=3250【题意】一群高度不完全相同的牛从左到右站成一排,每头牛只能看见它右边的比它矮的牛的发型,若遇到一头高度大于或等于它的牛,则无法继续看到这头牛后面的其他牛。给出这些牛的高度,要求每头牛可以看到的牛的数量的和。【分析】把要求作一下转换,其实就是要求每头牛被看到的次数之和。这个可以使用单调栈来解决。【单调栈】http...原创 2018-08-26 13:44:14 · 568 阅读 · 0 评论 -
【poj 2559 Largest Rectangle in a Histogram】【单调栈】
【链接】http://poj.org/problem?id=2559【题意】在一条水平线上有若干紧挨的矩形,求包含于这些矩形的并集内部的最大的矩形的面积(矩形个数<=1e5)【分析】我们先考虑,若矩形的高度从左往右单调递增,那么答案显而易见尝试以每个矩形的高度为最终矩形的高度,并把宽度延伸到右边界,得到一个矩形,取最大。如果下一个矩形的高度比上一个小,那么该矩形想贡献的话,这...原创 2018-08-23 12:58:08 · 276 阅读 · 0 评论 -
【hdu3530 Subsequence 】【单调栈】【求最大的区间长度使得区间的最大与最小差在[m,k]之间】
【链接】http://acm.hdu.edu.cn/showproblem.php?pid=3530【题意】求最大的区间长度使得区间的最大与最小差在[m,k]之间【思路】单调栈,维护一个保存最大值的递减栈,最小值的递增栈,如果目前最大与最小的差超过上限了,必定要出队,因为留着对于以后的贡献保持,可以即时删除不满足的点,删去下标小的。反之如果最大与最小的差小于下限,不能做任何处理...原创 2018-09-06 10:03:29 · 1174 阅读 · 0 评论