Poj 2559 最大矩形面积 v单调栈

最大矩形面积问题——单调栈法 最大矩形面积问题——单调栈法 文章目录最大矩形面积问题——单调栈法直方图最大矩形面积分析单调栈法过程示例代码示例矩阵中最大的矩形分析代码示例 直方图最大矩形面积 题目地址 给定非负整数数组 heights ,数组中的数字用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 示例1 输入:heights = [2,1,5,6,2,3] 输出:10 解释:最大的矩形为图中红色区域,面积为 10 示例2 输入: heights = [ 阅读详情
#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;
}
实在放心不下这个单调栈,还是把他存到自己博客里面吧
c++单调栈实现最大矩形面积 题意 给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。 Input 输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足 0 <= hi <= 1... 阅读详情

相关推荐

POJ2559 acwing131 Largest Rectangle in a Histogram [单调栈]

题目 直方图是由在公共基线处对齐的一系列矩形组成的多边形。 矩形具有相等的宽度,但可以具有不同的高度。 例如,图例左侧显示了由高度为 2,1,4,5,1,3,32,1,4,5,1,3,3 的矩形组成的直方图,矩形的宽度都为 11: 通常,直方图用于表示离散分布,例如,文本中字符的频率。 现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。 图例右图显示了所描绘直方图的最大对齐矩形。 输入格式 输入包含几个测试用例。 每个测试用例占据一行,用以描述一个直方图,并以整数 nn 开始,表示组成直方图的矩形数

sehnsucht 144

柱状图中最大的矩形

柱状图中最大的矩形 难度困难783 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。 以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位 示例: 输入: [2,1,5,6,2,3]输出: ...

꒰๑˘ᴗ˘๑꒱ 201

【单调栈】【网格】【柱图面积】85. 最大矩形

给定一个仅包含 0 和 1 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

闻缺陷则喜何志丹 974

最大矩形面积——单调栈

问题描述 给一个直方图,求直方图中的最大矩形的面积。例如,下面这个图片中直方图的高度从左到右分别是2, 1, 4, 5, 1, 3, 3, 他们的宽都是1,其中最大的矩形是阴影部分。 Input 输入包含多组数据。每组数据用一个整数n来表示直方图中小矩形的个数,你可以假定1 <= n <= 100000. 然后接下来n个整数h1, …, hn, 满足 0 <= hi <=...

weixin_44203022的博客 1203

奥顺居PHP测算引流SEO程序_八字风水_起名解梦_星座生肖综合门户源码

奥顺居PHP测算引流SEO程序_八字风水_起名解梦_星座生肖综合门户源码 S30新框架适合多种奥顺插件。

xl1407的博客 1749

基于资源预测的Agent弹性伸缩:在成本与响应延迟间寻找最佳平衡点

手动伸缩:完全由运维人员人工调整副本数或服务器数量,效率极低,现在基本只用于极小规模的业务。反应式伸缩:基于当前实时监控指标触发伸缩规则,比如CPU利用率超过70%就加2个副本,是目前应用最广泛的方案,典型代表是K8s HPA、KEDA。预测式伸缩:基于历史时序数据预测未来的负载,提前进行伸缩,解决反应式伸缩的滞后性问题,典型代表是AWS Predictive Scaling、阿里云预测式HPA。智能Agent伸缩。

SuperAGI2025 132

POJ 2559 Largest Rectangle in a Histogram(单调栈)

原题目链接:http://poj.org/problem?id=2559 解题思路: 用单调栈求任意每个区间的最小值及区间长度,为什么记录区间最小值呢?(木桶装水原理,装水量取决于最短木板长)。枚举每个区间,维护最大答案。 //自行百度单调栈 AC代码: 1 #include<iostream> 2 #include<cstdio> ...

anshuo0835的博客 100

电源完整性之Cadence Sigrity Power DC_电热协同仿真

之前和大家分享过电源完整性之仿真设计原理链接: link.今天接着上一篇文章总结一下电源直流压降的的仿真操作流程及一些simulation中的设置参数,用到的是Cadence Sigrity 中的Power DC组件,来操作一下电热协同仿真,下面开始享受仿真的快乐吧: 第0步:仿真简介 电热协同仿真把电和热相互的影响考虑到了一起。因为电导率并不是固定不变的,而是和温度有关,随着温度的升高导电率会下降。同样电流流径电阻的时候会产生热量,此热量为焦耳热。因此为了获得准确的仿真信息,应考虑电与热的互相影响,进行电

刘小同学的博客 1万+

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)...

weixin_34258782的博客 119

Langchain与Milvus集成中的pymilvus.exceptions.MilvusException: channel not found错误解析

本文深入解析了在Langchain与Milvus集成时常见的pymilvus.exceptions.MilvusException: channel not found错误。该错误通常由客户端配置错误、网络问题、服务端状态异常或版本不兼容导致。文章提供了从基础连通性测试到高级网络排查的完整故障排除指南,并针对本地Docker、远程服务器及Kubernetes等典型部署场景给出了具体解决方案,帮助开发者快速定位并修复这一连接层问题。

weixin_29229989的博客 217

Zemax序列模式下激光二极管(LD)光源建模与像散校正实战

本文详细讲解了在Zemax序列模式下精确建立激光二极管(LD)光源模型并校正其像散的核心方法。通过将椭圆光束的发散角转换为渐晕系数,并巧妙利用理想柱面镜模拟像散,实现了对LD光源特性的高精度模拟。该方法特别适用于激光耦合、激光雷达等需要对像散光束进行精密控制的光学系统设计。

weixin_28455801的博客 435

POJ2559.md

POJ 2559 Largest Rectangle in a Histogram 这道题好眼熟… igronemyk 大神犇 今年4月份蛤理工“尚学堂杯”的时候就学会了,而我现在才 AC …无限膜拜 原文链接:https://github.com/billchenchina/blog_files/blob/master/Solve/POJ2559.md 传送门们:HRBUS

ctyzxx的博客 341

【OpenClaw从入门到精通】第20篇:OpenClaw实战—从零搭建教育自动化助教系统(作业批改+智能答疑+学情分析)【2026实测】

本文基于OpenClaw开源框架,聚焦教育行业“答疑重复、批改耗时、学情模糊”三大核心痛点,提供从环境部署到功能落地的全流程实操方案。通过整合QQ群交互、代码分析、数据可视化等技能,构建“智能答疑+作业批改+学情分析”的自动化助教系统。系统支持7×24小时群聊答疑、多语言作业自动评审、学情数据周报生成,经实测可使助教工作时间减少60%、作业批改效率提升5-10倍、学情问题识别提前5周。文中包含完整配置步骤、可直接运行的代码示例及避坑指南,兼顾新手入门与进阶实操,帮助教育工作者快速落地自动化工具,从重复劳动中

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1448

POJ2599+POJ2082【最大矩形面积】

题目链接:http://poj.org/problem?id=2559 题目链接: 这一类题目的解法,不知自己闲着没事就做了两个。 果然压栈的过程很痛苦。  不断的调试更改思路。 给定从左到右多个矩形,已知这此矩形的宽度都为1,长度不完全相等。这些矩形相连排成一排,求在这些矩形包括的范围内能得到的面积最大的矩形,打印出该面积。所求矩形可以横跨多个矩形,但不能超出原有矩形所确

Beyyes 1511

OpenClaw第2章:快速安装

本章将手把手教你安装 OpenClaw。

Maynor的博客 3235

帝企鹅优化器(EPO)详解:从基础原理到代码实战

帝企鹅优化器(EPO)是受帝企鹅群体在极寒环境中抱团取暖行为启发,于2018年提出的一种群体智能优化算法。其核心机制是模拟帝企鹅种群通过动态调整位置来维持体温的过程,主要包括确定集群边界、计算温度分布、衡量个体间距离以及更新位置四个步骤,从而在求解复杂优化问题时有效平衡全局探索与局部开发。该算法具有参数少、结构清晰、易于实现等优点,在工程优化、图像处理、机器学习特征选择以及冷链物流车辆路径规划等领域展现出良好的应用潜力。

qq_42212808的博客 138

[POJ2559&POJ3494] Largest Rectangle in a Histogram&Largest Submatrix of All 1’s 「单调栈」

Largest Rectangle in a Histogram http://poj.org/problem?id=2559 题意:给出若干宽度相同的矩形的高度(条形统计图),求最大子矩形面积 解题思路 单调栈的经典题(嫌弃字多可以先看后面的示例再来看这个思路) 显然,最终的子矩形高度一定和某一个矩形相等(反证)。因此一个暴力的做法就是枚举每一个矩形,然后往两边扩散。在...

weixin_30291791的博客 108

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

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 ...

banlianbi6499的博客 142

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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...

weixin_30469895的博客 84

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

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

m0_51864047的博客 149

单调栈总结

单调栈一般可以对于给定的数列,求每个值v在他左右的区间[l,r]是最小值(最大值),通过单调递增(递减)栈来实现。 1.用处 求每个值v是哪个区间[l,r]的最小值,一般还会和区间[l,r]有关系 poj2796 Feel good  给定数列 要求一个区间内最小值乘区间和,的最大值。 poj2559 Largest rectangle in a Histogram  给定几个

unintended 322

一类需要用到单调队列的题目

直方图的最大矩形面积 poj 2559 高度保持单调增,弹出时向最右看。 #include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<queue> #include<cmath> #include<map&...

weixin_30352191的博客 199

hdu 1285 基于入度数排序输出的拓扑排序&&单调栈

内容: 有N个比赛队(1 input 输入有若干组,每组中的第一行为二个数N(1 output 给出一个符合要求的排名。输出时队伍号之间有空格,最后一名后面没有空格。 其他说明:符合条件的排名可能不是唯一的,此时要求输出时编号小的队伍在前;输入数据保证是正确的,即输入数据确保一定能有一个符合要求的排名。 Sample Input 4 3 1 2 2 3 4 3

zyy.cpp 的博客 428

可扩展后端架构设计:从核心原则到微服务落地的工程实践

在分布式系统与高并发场景下,系统可扩展性是支撑业务持续增长的核心架构属性。其本质在于通过水平扩展或垂直扩展,使系统吞吐能力能随资源增加而线性提升。这一特性直接关联着高性能与高可用,是构建弹性、健壮系统的技术基石。从工程价值看,良好的可扩展设计能有效应对流量洪峰、降低单点故障风险,并支撑业务的快速迭代。典型的应用场景包括电商大促、社交平台用户激增以及企业级SaaS服务的多租户架构。本文聚焦于微服务架构演进路径,深入探讨了通过无状态设计、异步消息队列和解耦数据存储等关键模式,并结合缓存策略与容器化部署,系统性地

weixin_30457551的博客 484

Leetcode-最大矩形(单调栈)

首先我们发现,其实找一块块矩阵时,很多时候我们都要重复的寻找一些单元格,来确保我们可以找到最大的矩阵面积。我们定义height[i]代表当前行的第j列往上数,数字为1的矩阵高度。然后我们开始一行行遍历,在第i行时,我们要从第j列开始往前查找j-1一直到0,每次的高度取这一路的最小值,然后不断更新最大值。首先我们仍然计算出每一行的高度数组,然后遍历每一行,像上面这个文章一样,看成计算柱状图中的最大矩阵即可。只写了暴力枚举的,单调栈方法的代码和上个题差不多,偷个懒。的最大矩形,并返回其面积。

m0_52238102的博客 632
上一篇: bzoj 1041 圆上的整点
下一篇: NYOJ 119 士兵杀敌(三)【ST算法】
梁千仞
博客等级 码龄15年 12粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值