problem

201312-3
试题名称: 最大的矩形
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi。这n个矩形构成了一个直方图。例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3。

请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行。对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10。

输入格式
  第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000)。
  第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔。(1 ≤ hi ≤ 10000)。hi是第i个矩形的高度。
输出格式
  输出一行,包含一个整数,即给定直方图内的最大矩形的面积。
样例输入
6
3 1 6 5 2 3
样例输出
10

solution

我就说好像在哪写过,出门右拐POJ2559,2018年的原题代码一字不改丢上去AC。。。
虽然现在未必能写的出单调栈,,我知道自己越学越菜系列。。。
但是CSP可以带模板和书进去啊啊啊什么鬼。。。。

https://gwj1314.blog.csdn.net/article/details/81513728

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;
const int maxn = 1e5+10;
int n, a[maxn], s[maxn], w[maxn];
int main(){while(cin>>n &&n){LL ans = 0, p = 0;for(int i = 1; i <= n; i++)scanf("%d",&a[i]);a[n+1] = 0;for(int i = 1; i <= n+1; i++){if(a[i]>s[p])s[++p]= a[i], w[p] = 1;else {int width = 0;while(s[p]>a[i]){width += w[p];ans = max(ans, (LL)width*s[p]);p--;}s[++p] = a[i], w[p] = width+1;}}cout<<ans<<'\n';}return 0;
}

【CSP201312-3】最大的矩形,单调栈相关推荐

  1. 直方图中最大的矩形(遍历与单调栈)

    给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 . 求在该柱状图中,能够勾勒出来的矩形的最大面积. 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [ ...

  2. 51Nod 1102 面积最大的矩形 +1272 最大距离 单调栈

    51Nod 1102 面积最大的矩形 记笔记记笔记:对于区间最值与区间长度/和等的问题,用单调栈来维护区间端点. 这里来补一补单调栈和单调队列的基础知识: 单调栈:                   ...

  3. leetcode 1504. Count Submatrices With All Ones | 1504. 统计全 1 子矩形(单调栈)

    题目 https://leetcode.com/problems/count-submatrices-with-all-ones/ 题解 本题与 leetcode 84. Largest Rectan ...

  4. leetcode 85. Maximal Rectangle | 85. 最大矩形(单调栈)

    题目 https://leetcode.com/problems/maximal-rectangle/ 题解 本题与 leetcode 84. Largest Rectangle in Histogr ...

  5. [Leedcode][JAVA][第84题][柱状图中最大的矩形][暴力][单调栈]

    [问题描述][困难] 给定 n 个非负整数,用来表示柱状图中各个柱子的高度.每个柱子彼此相邻,且宽度为 1 .求在该柱状图中,能够勾勒出来的矩形的最大面积.以上是柱状图的示例,其中每个柱子的宽度为 1 ...

  6. 【LeetCode笔记】84. 柱状图中最大的矩形(字符串、单调栈)

    文章目录 题目描述 思路 && 代码 二刷 题目描述 和接雨水有点像,但是具体做法还是有点不同. 思路 && 代码 暴力法只能过 94 / 96 的样例:复杂度O(n^ ...

  7. LeetCode--85.最大矩形(单调栈)

    最大矩形(单调栈) 1. 题目描述 2. 题目分析 3. C语言实现 1. 题目描述 难度:困难 2. 题目分析 这道题目似曾相识啊,最大矩形面积的问题我们在LeetCode84.柱状图中最大的矩形也 ...

  8. LeetCode--84.柱状图中最大的矩形(暴力法,单调栈)

    柱状图中最大的矩形(暴力法,单调栈) 1. 题目描述 2. 题目分析 3. C语言实现 3.1 暴力法 3.2 单调栈 4. Java实现 1. 题目描述 难度:困难 2. 题目分析 这道题有两种解法 ...

  9. 的input最大长度_LeetCode 84 | 单调栈解决最大矩形问题

    今天是LeetCode专题第52篇文章,我们一起来看LeetCode第84题,Largest Rectangle in Histogram(最大矩形面积). 这道题的官方难度是Hard,点赞3581, ...

  10. 直方图中最大的矩形(单调栈2)

    题目描述 直方图是由在公共基线处对齐的一系列矩形组成的多边形. 矩形具有相等的宽度,但可以具有不同的高度. 例如,图例左侧显示了由高度为2,1,4,5,1,3,3的矩形组成的直方图,矩形的宽度都为1: ...

最新文章

  1. Leetcode 190. 颠倒二进制位 解题思路及C++实现
  2. 用Axis创建的Webservice的集成与发布
  3. 【Python】吐槽SQLAlchemy
  4. ProE复杂曲线方程:Python Matplotlib 版本代码(L系统,吸引子和分形)
  5. vector内存扩容
  6. 最可怕的企业“内卷化”,是走入以下10个误区而不自知
  7. JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法...
  8. c# char unsigned_C 中 char、signed char 和 unsigned char 的区别
  9. 高阶篇:8.2)注塑模具讨论要点(讨模评审)
  10. 20140115-URL编码与解码
  11. java创建集合有的不用泛型_Java如何创建泛型集合?
  12. html5 figure 标签
  13. 为openstack制作windows镜像
  14. 房屋租赁管理系统 基于SSM框架
  15. 安卓10不支持qmc解码_基于安卓10的LineageOS 17.1来了,支持一加、小米、LG等机型...
  16. imp oracle reschema_oracle中imp命令详解(导入数据库)
  17. SageMath域上多项式操作
  18. 金蝶系统登不上服务器270,电脑进不了金蝶软件,显示Automation错误270
  19. 全球及中国建筑涂料市场产量格局与盈利前景状况分析报告2022版
  20. MySQL的Logo为 标志_MySQL 的Logo为[     ]标志,海豚代表了速度、动力、精确等MySQL所拥有的特性。_国际贸易基础知识答案_学小易找答案...

热门文章

  1. 概率论(基本概念术语)的理解
  2. Python Tricks(九)—— 递归遍历目录下所有文件
  3. scala 基础类库 —— 文件操作
  4. sklearn 细节 —— SGDClassifier、Perceptron(分类模型)
  5. C++标准库::拾遗
  6. python查看方法作用_python中有帮助函数吗
  7. 用python画圣诞树-圣诞节!教你用 Python 画棵圣诞树
  8. python爬虫菜鸟教程-Python 应该怎么学?
  9. python为什么叫爬虫-Python为什么叫爬虫
  10. python编程是啥-小学生都开始学的Python编程到底是什么?