#include<iostream>
#include<stack>
#include<stdio.h>
using namespace std;
struct node
{
__int64 num,pre,next;
};
int main()
{
int n;
freopen("in.txt","r",stdin);
while(scanf("%d",&n)>0&&n)
{
stack<node>Q;
node tmp;
__int64 ans=0,sum=0,num;
scanf("%I64d",&tmp.num);
tmp.pre=1;
tmp.next=1;
Q.push(tmp);
for(int i=1;i<n;i++)
{
scanf("%I64d",&tmp.num);
tmp.pre = tmp.next = 1;
while(!Q.empty()&&tmp.num<=Q.top().num)
{
node tmp1=Q.top();
Q.pop();
ans=tmp1.num*(tmp1.pre+tmp1.next-1);
if(!Q.empty())
Q.top().next+=tmp1.next;
tmp.pre+=tmp1.pre;
if(ans>sum)
sum=ans;
}
Q.push(tmp);
}
while(!Q.empty())
{
node tmp1=Q.top();
Q.pop();
if(!Q.empty())
Q.top().next+=tmp1.next;
ans=tmp1.num*(tmp1.pre+tmp1.next-1);
if(ans>sum)
sum=ans;
}
printf("%I64d\n",sum);
}
return 0;
}
实在放心不下这个单调栈,还是把他存到自己博客里面吧
相关推荐
POJ2559 acwing131 Largest Rectangle in a Histogram [单调栈]
题目 直方图是由在公共基线处对齐的一系列矩形组成的多边形。 矩形具有相等的宽度,但可以具有不同的高度。 例如,图例左侧显示了由高度为 2,1,4,5,1,3,32,1,4,5,1,3,3 的矩形组成的直方图,矩形的宽度都为 11: 通常,直方图用于表示离散分布,例如,文本中字符的频率。 现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。 图例右图显示了所描绘直方图的最大对齐矩形。 输入格式 输入包含几个测试用例。 每个测试用例占据一行,用以描述一个直方图,并以整数 nn 开始,表示组成直方图的矩形数
柱状图中最大的矩形
柱状图中最大的矩形 难度困难783 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位 示例: 输入: [2,1,5,6,2,3]输出: ...
【单调栈】【网格】【柱图面积】85. 最大矩形
给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。
最大矩形面积——单调栈
问题描述 给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。 Input 输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足 0 <= hi <=...
思博伦Spirent TestCenter创建单播流uni-stream
Traffic Generator列表中会出现刚才创建的uni-stream,创建完成。通常测试情况下,主要对Ethenet II和IPv4 Header进行配置。(通常情况下,如果流配置比较规范,选择任意端口接收,也没问题。编辑uni-stream基本信息。配置本条流由STC哪个端口接收。
【上海大学计算机组成原理实验报告】五、机器语言程序实验
机器语言程序实验//理解计算机执行程序的实际过程//学习编制机器语言简单程序的方法//将R1中的数值左移n次送OUT,其中n是R2中的数值。(指令码从10开始)//完成R3=R0×R1,结果送OUT。(指令码从30开始)//建立“中文汇编指令”需要哪些条件?//上海大学计算机组成原理实验报告
Leetcode-最大矩形(单调栈)
首先我们发现,其实找一块块矩阵时,很多时候我们都要重复的寻找一些单元格,来确保我们可以找到最大的矩阵面积。我们定义height[i]代表当前行的第j列往上数,数字为1的矩阵高度。然后我们开始一行行遍历,在第i行时,我们要从第j列开始往前查找j-1一直到0,每次的高度取这一路的最小值,然后不断更新最大值。首先我们仍然计算出每一行的高度数组,然后遍历每一行,像上面这个文章一样,看成计算柱状图中的最大矩阵即可。只写了暴力枚举的,单调栈方法的代码和上个题差不多,偷个懒。的最大矩形,并返回其面积。
实战Nocobase插件开发:如何用yarn pm命令快速创建和测试API接口插件
本文详细介绍了如何使用Nocobase插件开发工具快速创建和测试API接口插件,涵盖从环境配置、插件骨架生成到数据模型定义和接口实现的完整流程。通过yarn pm命令简化开发步骤,帮助开发者高效构建支持CRUD的API插件,适用于低代码平台开发场景。
POJ 2559 Largest Rectangle in a Histogram(单调栈)
原题目链接:http://poj.org/problem?id=2559 解题思路: 用单调栈求任意每个区间的最小值及区间长度,为什么记录区间最小值呢?(木桶装水原理,装水量取决于最短木板长)。枚举每个区间,维护最大答案。 //自行百度单调栈 AC代码: 1 #include<iostream> 2 #include<cstdio> ...
LiblibAI新手教程:从零开始训练你的第一个LoRA模型(保姆级指南)
本文提供LiblibAI平台上从零开始训练LoRA模型的保姆级教程,涵盖数据准备、参数优化到效果调优全流程。详细解析LoRA技术优势,包括云端计算资源、自动化预处理工具等,帮助新手快速掌握自定义模型训练技巧,实现高效AI绘画创作。
解决Calibre中license的错误
本次解决了Calibre在Cadence 617 virtuoso版本中运行不了的错误,在遇到问题的时候,我也跟你们一样,首先是上网查询为什么运行不了呢?明明我安装了之后里面有Calibre的,我当时也是这样的疑惑,一点Calibre运行LVS的时候,一片空白,然后就出现了license的错误,后来点点点,看看看,搜搜搜,最终解决了这个问题。虚拟机是VMware16版本,cadence617,Calibre是2015版本。旨在记录遇到的实际问题。
POJ2559最大矩形面积——单调栈
题目:http://poj.org/problem?id=2559 #include<iostream> #include<cstdio> using namespace std; int cnt,l[100005],r[100005],q[100005]; long long n,a[100005]; int main() { while(1)...
173、NPU的编译器开发:开源社区贡献指南
本文分享了在NPU编译器开源社区贡献的经验心得。作者通过实际案例(如卷积维度错误、NaN输出等)阐述了NPU编译器开发的特殊性:硬件迭代快、边界条件复杂、厂商代码不可全信。提出有价值的贡献应聚焦硬件适配测试、性能剖析工具和反模式文档三类内容。强调用实测数据沟通、主动承担维护责任、保持代码通用性等社区协作技巧,并建议通过RFC提前沟通、附硬件实测数据等方式提高PR通过率。最后指出,NPU编译器开发是与聪明人共同填坑的过程,鼓励开发者提交"有诚意的代码"而非完美代码。
POJ2559.md
POJ 2559 Largest Rectangle in a Histogram 这道题好眼熟… igronemyk 大神犇 今年4月份蛤理工“尚学堂杯”的时候就学会了,而我现在才 AC …无限膜拜 原文链接:https://github.com/billchenchina/blog_files/blob/master/Solve/POJ2559.md 传送门们:HRBUS
C++软件异常分析概述
本文将详细讲述Windows系统中软件异常的分类以及常用的排查方法,给大家提供一个借鉴与参考。
非技术面试题精选大全
回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业喜欢有礼貌的求职者。
POJ2599+POJ2082【最大矩形面积】
题目链接:http://poj.org/problem?id=2559 题目链接: 这一类题目的解法,不知自己闲着没事就做了两个。 果然压栈的过程很痛苦。 不断的调试更改思路。 给定从左到右多个矩形,已知这此矩形的宽度都为1,长度不完全相等。这些矩形相连排成一排,求在这些矩形包括的范围内能得到的面积最大的矩形,打印出该面积。所求矩形可以横跨多个矩形,但不能超出原有矩形所确
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
[POJ2559&POJ3494] Largest Rectangle in a Histogram&Largest Submatrix of All 1’s 「单调栈」
Largest Rectangle in a Histogram http://poj.org/problem?id=2559 题意:给出若干宽度相同的矩形的高度(条形统计图),求最大子矩形面积 解题思路 单调栈的经典题(嫌弃字多可以先看后面的示例再来看这个思路) 显然,最终的子矩形高度一定和某一个矩形相等(反证)。因此一个暴力的做法就是枚举每一个矩形,然后往两边扩散。在...
IMSL CNL 7.0.0 (x86-64)Crack
IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件
android 蓝牙通讯demo
android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。
POJ 2559 Largest Rectangle in a Histogram
Description A histogram is a polygon composed of a sequence of rectangles aligned at a common base line. The rectangles have equal widths but may have different heights. For example, the figure ...
华为的C语言编程规范.pdf
华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。
POJ 2559 单调栈
题目链接: http://poj.org/problem?id=2559 Largest Rectangle in a Histogram Time Limit: 1000MSMemory Limit: 65536K 问题描述 A histogram is a polygon composed of a sequence of rectangles aligned at a common bas...
POJ2559 Largest Rectangle in a Histogram(单调栈)
#include<cstdio> #include<algorithm> #define int long long using namespace std; const int maxn=1e5+5; struct N{int h,w;}st[maxn]; int tot,v,n,ans; signed main(){ while(scanf("%lld",&n),n){ tot=0; ans=0; for(int i=0;i&l
单调栈总结
单调栈一般可以对于给定的数列,求每个值v在他左右的区间[l,r]是最小值(最大值),通过单调递增(递减)栈来实现。 1.用处 求每个值v是哪个区间[l,r]的最小值,一般还会和区间[l,r]有关系 poj2796 Feel good 给定数列 要求一个区间内最小值乘区间和,的最大值。 poj2559 Largest rectangle in a Histogram 给定几个
一类需要用到单调队列的题目
直方图的最大矩形面积 poj 2559 高度保持单调增,弹出时向最右看。 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<queue> #include<cmath> #include<map&...
hdu 1285 基于入度数排序输出的拓扑排序&&单调栈
内容: 有N个比赛队(1 input 输入有若干组,每组中的第一行为二个数N(1 output 给出一个符合要求的排名。输出时队伍号之间有空格,最后一名后面没有空格。 其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入数据确保一定能有一个符合要求的排名。 Sample Input 4 3 1 2 2 3 4 3
可扩展后端架构设计:从核心原则到微服务落地的工程实践
在分布式系统与高并发场景下,系统可扩展性是支撑业务持续增长的核心架构属性。其本质在于通过水平扩展或垂直扩展,使系统吞吐能力能随资源增加而线性提升。这一特性直接关联着高性能与高可用,是构建弹性、健壮系统的技术基石。从工程价值看,良好的可扩展设计能有效应对流量洪峰、降低单点故障风险,并支撑业务的快速迭代。典型的应用场景包括电商大促、社交平台用户激增以及企业级SaaS服务的多租户架构。本文聚焦于微服务架构演进路径,深入探讨了通过无状态设计、异步消息队列和解耦数据存储等关键模式,并结合缓存策略与容器化部署,系统性地
144



被折叠的 条评论
为什么被折叠?



