Acwing - 131. 直方图中最大的矩形

2023-10-27

131. 直方图中最大的矩形 - AcWing题库

题目描述

tag : 单调栈

直方图是由在公共基线处对齐的一系列矩形组成的多边形。

矩形具有相等的宽度,但可以具有不同的高度。

例如,图例左侧显示了由高度为 2,1,4,5,1,3,3 的矩形组成的直方图,矩形的宽度都为 1:

输入格式

输入包含几个测试用例。

每个测试用例占据一行,用以描述一个直方图,并以整数 n 开始,表示组成直方图的矩形数目。

然后跟随 n 个整数 h 1 , … , h n h_1,…,h_n h1hn

这些数字以从左到右的顺序表示直方图的各个矩形的高度。

每个矩形的宽度为 1。

同行数字用空格隔开。

当输入用例为 n=0 时,结束输入,且该用例不用考虑。

输出格式

对于每一个测试用例,输出一个整数,代表指定直方图中最大矩形的区域面积。

每个数据占一行。

请注意,此矩形必须在公共基线处对齐。

数据范围

1≤n≤100000
0 ≤ h i ≤ 1000000000 0≤h_i≤1000000000 0hi1000000000

样例

输入样例:

7 2 1 4 5 1 3 3
4 1000 1000 1000 1000
0

输出样例:

8
4000

题目的意思是让我们求出最大的矩形面积。

我们一开始可以先想一想最简单的方法应该怎么求。一个矩形的面积有两个属性,宽和高。高我们可以通过读入的数据一次获取,但是矩形的宽度就需要我们去枚举了。

也就是说,对于 i 位置的矩形来说,我们需要找到左边第一个比它低的高,和右边第一个比它低的高。

那么我们就可以写出暴力的算法来了。

#include <iostream>
using namespace std;

const int N = 1e5 + 10;
int q[N];

int main(int argc, char const *argv[])
{
   
    int n;
    while (scanf("%d",
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Acwing - 131. 直方图中最大的矩形 的相关文章

随机推荐

  • 【Linux】冯诺依曼体系结构思想

    冯诺依曼体系结构 冯诺依曼体系结构 冯诺依曼体系结构的五大部分 冯诺依曼体系结构的运行过程 存储器中的木桶效应 扩展 计算机存储设备金字塔 实例 qq聊天数据传输过程 小结 博客主页 小智 x0 0x 欢迎关注 点赞 收藏 留言 系列专栏
  • UnityVR--组件10--UGUI简单介绍

    目录 前言 UI基础组件 1 Canvas 2 EventSystem 3 Image 4 Text TextMeshPro InputField 5 Button控件 其他 前言 UGUI是Unity推出的新的UI系统 它与Unity引擎
  • 2023年第47届(第二届)浙江技能大赛网络安全项目 (世赛省选拔赛)C模块任务书

    2023年第47届 第二届 浙江技能大赛网络安全项目 世赛省选拔赛 C模块任务书 模块C 夺旗挑战赛 1竞项赛目简介 1 1 介绍 1 2环境和目标 1 2 1 CTF 架构 1 2 2 挑战 1 3 评分方案 1 4 工作流程 2竞赛项目
  • Unity接入GooglePlay服务

    请大家关注我的微博 NormanLin BadPixel坏像素 前置条件 Google开发者账号 需要支持Visa的信用卡 java与Android开发环境的搭建 Unity上连接AndroidSDK与Java jdk AndroidSDK
  • 毕业设计-基于机器学习的双目测距系统-OpenCV

    目录 前言 课题背景和意义 实现技术思路 一 系统环境要求与流程图 二 摄像机模型和标定 四 立体匹配与测距 五 测距系统实验结果 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备
  • 由动态库文件dll生成lib库文件

    本文基于OpenBlas的编译和安装 来说明怎样从一个dll文件生成lib库文件 參考OpenBlas的说明 Howto generate import library for MingW 和MinGW的说明HOWTO Create an
  • 揭秘前端文件上传原理(二)

    上一篇文章讲到了以Form表单 将文件数据编码为特定的类型 来作为前端文件上传的载体 这一篇再来看看 如果不使用Form表单 不以FormData去提交数据 我们又将如何上传文件到云端呢 Form表单的意义 首先来想一想 Form表单对文件
  • 详解 七大经典排序算法

    文章目录 概念 代码 一 插入排序 直接插入排序 希尔排序 二 选择排序 选择排序 堆排序 三 交换排序 冒泡排序 快速排序 四 归并排序 归并排序递归 归并排序非递归 法一 法二 五 非比较排序 计数排序 排序算法总结 复杂度和稳定性 效
  • mysql故障记录以及binlog2sql学习使用

    mysql两次故障记录 centos7 4和7 5 一 故障描述 故障一 mysql主库的vip漂移到了备库 20分钟后后人工切换了回来 由于不是主主同步模式 所以主库缺失了这写入备库的20分钟的数据 故障二 有人员误删生产库中某个表的几百
  • OAuth 简介

    OAuth是一个在不提供用户名和密码的情况下 授权第三方应用访问Web资源的安全协议 常用的应用 OAuth 的场景 一般是某个网站想要获取一个用户在第三方网站中的某些资源和服务 比如在人人网上 想要导入用户MSN里的好友 在没有OAuth
  • lua 的 table表 大小、元素个数 #操作 的体会【结论是错误的, 此后再更新】

    有个体会 lua table 的 操作 是针对 table insert table remove 这一对操作的 操作数维护 每次调用 table insert 都会是 操作值增加 这是我自己的表达 即使 用 table 取得表的 返回值
  • requests上传和flask接收OpenCV的图片数据

    方式一 从本地读取到图片或帧 上传到flask服务器 客户端发送 def image post data type code type code area id area id 以文件的格式上传 节省传输时间 file file file
  • 腾讯云技术大牛教你,MySQL内核深度优化

    作者介绍 简怀兵 腾讯云数据库高级工程师 负责腾讯云CDB内核及基础设施建设 先后供职于Thomson Reuters和YY等公司 PTimeDB作者 曾获一项发明专利 从事MySQL内核开发工作8年 具有丰富的优化经验 在分布式存储等领域
  • main(int argc, char **argv)中argc和argv的具体含义,以及操作系统如何处理它们

    main int argc char argv 中argc和argv的具体含义 以及操作系统如何处理它们 请高手详细解释一下 谢谢 1 argc 参数的个数 argv 参数的字符串形式的数组 2 C C code int main int
  • 解决display:none

    selenium 解决页面元素display none的方法 在UI自动化测试中 有时候会遇到页面元素无法定位的问题 包括xpath等方法都无法定位 是因为前端元素被设置为不可见导致 这篇博客 介绍下如何通过JavaScript修改页面元素
  • 2019CISCN华中赛区分区赛部分wp

    pwn1 64位程序 只开启了NX 栈不可执行 保护 试着运行发现是一个菜单题 选项二 三没用 拖到IDA中查看 发现在encrypt选项中存在gets造成的栈溢出漏洞 不过输进去的字符串被分段异或了 我们可以先进行异或一下 然后在输入程序
  • 嵌入式C惯用法

    1 cpp里的c代码按照c的方式来编译和调用 时常在cpp的代码之中看到这样的代码 ifdef cplusplus extern C endif 一段代码 ifdef cplusplus endif 这样的代码到底是什么意思呢 首先 cpl
  • git for Linux 详细安装步骤 及 详细设置 ----git源码编译安装

    前记 git svn sourcetree gitee github gitlab gitblit gitbucket gitolite gogs 版本控制 仓库管理 系列工程笔记 Platform Ubuntu18 04 LTS Git
  • gulp-rev 和 rev-collector 控制版本总是上一个旧版本的bug原因

    原因是执行顺序的问题 css处理 gulp task css function return gulp src css path pipe stylus config stylus pipe autoprefixer config auto
  • Acwing - 131. 直方图中最大的矩形

    131 直方图中最大的矩形 AcWing题库 题目描述 tag 单调栈 直方图是由在公共基线处对齐的一系列矩形组成的多边形 矩形具有相等的宽度 但可以具有不同的高度 例如 图例左侧显示了由高度为 2 1 4 5 1 3 3 的矩形组成的直方