
单调栈
live4m
老菜逼了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj3250 Bad Hair Day (单调栈)
题意:有n头牛,每头牛有身高h,所有牛都面朝右边,每头牛可以看到比他矮的牛,如果有一头牛比他高(或者相等)就看不到再右边的牛了(被挡住了)求所有牛可以看到的比他矮的牛的数量的总和分析:单调栈基本应用,对于每个数,计算他于他右边第一个比他大的数之间有多少数单调递增栈,栈顶到栈底是递增的栈中存放下标,每次用下标判断高度是否满足单调性不满足则用栈顶元素更新答案,并且继续判断是否满足,直到...原创 2019-08-30 20:20:00 · 149 阅读 · 0 评论 -
poj2559 Largest Rectangle in a Histogram (直方图最大矩形面积 单调栈)
问题描述:直方图是由在公共基线处对齐的一系列矩形组成的多边形。矩形具有相等的宽度,但可以具有不同的高度。例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1:通常,直方图用于表示离散分布,例如,文本中字符的频率。现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。图例右图显示了所描绘直方图的最大对齐矩形。输入格式输入包含几个测试用例。每...原创 2019-08-30 20:20:14 · 395 阅读 · 0 评论 -
poj3494 Largest Submatrix of All 1’s (最大全1矩阵 单调栈)
Largest Submatrix of All 1’sGiven a m-by-n (0,1)-matrix, of all its submatrices of all 1’s which is the largest? By largest we mean that the submatrix has the most elements.InputThe input contains ...原创 2019-08-30 20:20:27 · 231 阅读 · 0 评论 -
poj2796 Feel Good (单调栈+前缀和)
Feel GoodBill is developing a new mathematical theory for human emotions. His recent investigations are dedicated to studying how good or bad days influent people’s memories about some period of life...原创 2019-08-30 20:20:37 · 196 阅读 · 0 评论 -
单调栈单调队列
单调栈作用:1.确定一个数左边(右边)区间第一个比它小(或大)的数或下标,据此可确定两者之间的区间长度和两者之间的数的数量2.查找区间最值的最大扩展范围(区间长度),例如:给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列的长度最大。给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列所有元素和最大。题集:1.poj2796 Feel Good:题解单调栈求最大扩展范...原创 2019-08-30 21:26:16 · 171 阅读 · 0 评论 -
CodeForces - 91 B.Queue (单调栈)
题意:给长度为n的数列,找到每个数右边距离他最远的比他小数,输出他们之间有多少个数,如果右边没有比他小的,输出-1.分析:因为要找从右边开始第一个比他小的数因此从右边向左遍历,同时维护一个递减序列如果当前元素比序列最小值还小,则没有比他小的,输出-1否则从序列中二分找出最右边比他小的数,然后计算答案code:#include<cstdio>#include<cs...原创 2019-08-31 11:22:58 · 248 阅读 · 0 评论 -
nowcoder 区区区间间间 (单调栈)
链接:https://ac.nowcoder.com/acm/problem/20806来源:牛客网题目描述给出长度为n的序列a,其中第i个元素为a[i]区间[l,r]的价值为:要求计算:输入描述:第一行输入数据组数T对于每组数据,第一行为一个整数n,表示序列长度接下来一行有n个数,表示序列内的元素输出描述:对于每组数据,输出一个整数表示答案示例1输入334 2...原创 2019-09-23 15:23:03 · 314 阅读 · 0 评论 -
2019牛客多校第一场A.Equivalent Prefixes(单调栈)
输入21 22 132 1 33 1 253 1 5 2 45 2 4 3 1输出134题意:给两个长度为n的数组a,b求一个最大的p,使得:a,b数组[1,k]区间中最小值下标相同(k<=p)思路:两个栈维护两个数组每个点左边比他小的数的位置当两个栈的大小不一样的时候说明下标不同,不满足,否则满足code:#include<iostrea...原创 2019-09-24 10:43:23 · 186 阅读 · 0 评论