![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
单调栈
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
qduoj LC的课后辅导
LC的课后辅导发布时间: 2015年9月19日 21:42 时间限制: 1000ms 内存限制: 256M描述有一天,LC给我们出了一道题,如图:这个图形从左到右由若干个 宽为1 高不确定 的小矩形构成,求出这个图形所包含的最大矩形面积。输入多组测试数据 每组测试数据的第一行为n(0 输出仅输出一行表示面积的最大值原创 2016-09-25 14:21:26 · 616 阅读 · 0 评论 -
hdu 3410 单调栈
Description现在有n个人站成一行,告诉你每个人的身高。现在每个人都要找到在他左边,比他矮的人中最高的人的位置。同时也要找到,在他右边比他矮的人中最高的人的位置。注意由于他们是站成一行的,所以他们不能越过比他们高的人去看后面的人。也就是说,他只能看到他本人和他的左边(或右边)第一个比他高的人之间的那些人。请输出每个人左边比他矮的人中最高的人的位置,以及每个人的右边比原创 2016-11-25 19:40:15 · 1289 阅读 · 0 评论 -
POJ - 3044 D - City Skyline
The best part of the day for Farmer John's cows is when the sun sets. They can see the skyline of the distant city. Bessie wonders how many buildings the city has. Write a program that assists the cow原创 2016-12-16 17:25:54 · 890 阅读 · 0 评论 -
51Nod - 1158 全是1的最大子矩阵 单调栈
题目链接给出1个M*N的矩阵M1,里面的元素只有0或1,找出M1的一个子矩阵M2,M2中的元素只有1,并且M2的面积是最大的。输出M2的面积。Input第1行:2个数m,n中间用空格分隔(2 第2 - N + 1行:每行m个数,中间用空格分隔,均为0或1。Output输出最大全是1的子矩阵的面积。Sample Input3 31 1 01 1原创 2017-07-18 22:42:03 · 1191 阅读 · 0 评论 -
51Nod - 1215 数组的宽度 思维+单调栈
题目链接题意:N个整数组成的数组,定义子数组aii..ajj的宽度为:max(aii..ajj) - min(aii..ajj),求所有子数组的宽度和。思路:对于这个题目只需要跑一次递增的单调栈,跑一次递减的就可以了.分别记录以该点为最小值可以到达的左右区间,和为最大值可以到达的左右区间. 因为可原创 2017-07-18 22:57:36 · 521 阅读 · 0 评论 -
qduoj 156 暴力过算我输 思维+单调栈
题目链接题意:有一天julyc得到了一个长度为n的数列,他感觉很有意思(?),于是他对这个数组做了m次操作。有两种操作:1:对数列前x个数进行非降序排列2:对数列前x个数进行非升序排列于是julyc就很灵性的进行了m次操作,最终得到了一个操作后的数列。输出操作后的序列思路: 第一,我们要想到的就是原创 2017-07-29 12:11:37 · 383 阅读 · 0 评论 -
HDU - 5033 Building 单调栈维护斜率 好题
传送门 题意:给出n座大楼的位置以及高度,再给出m个人的位置,查询给出的人的位置所能看到的最大的仰角是多少。 思路:当时想到了用单调栈来维护,也想到了把所有人的位置都添加进去排序计算.当前有个最高的肯定会挡住后面的,但是想的不是很全面.这个题目是一个单调栈维护斜率吧. 首先我们可以知道,如果当前建筑物的连线是凹的,那么凹进去的那些点都没用了,正确的结果肯定不会再中间些点.其次,如果当前这些原创 2017-10-11 23:32:25 · 339 阅读 · 0 评论 -
计蒜客 合并数字 (思维 + 栈)
传送门思路: 大力vector搞T了一个点。。。。 这个题其实应该注意到是最左面相邻的绝对值相差为1的。那么这里可以用个栈,显然栈里存的都是不满足相邻为差的,对于新来的一个值,由于要满足最左面,栈里又是都不满足的,所以肯定是和栈顶比较是否满足条件了,满足就保留小的继续和栈顶判断,一直到不满足为止。#include <bits/stdc++.h>using name...原创 2018-03-30 21:24:37 · 333 阅读 · 1 评论