HDU 1506 Largest Rectangle in a Histogram (DP或单调栈+笛卡尔树)

传送门

题目大意:

有N条的长条状的矩形,宽度都为1,第i条高度为Hi,相邻的竖立在x轴上,求最大的子矩形面积

DP思路及代码

求出当前点能够到达的最左边和最右边的位置,答案就是(最右边-最左边)*当前高度

ll l[maxn],r[maxn],a[maxn];
//l[i]记录i点能够到达最左边的位置
//r[i]记录i点能够到达最右边的位置 
//最后答案就是(最右边-最左边+1)*a[i] 
int main(){int n;while(~scanf("%d",&n)){if(n==0)break;for(int i=1;i<=n;i++){scanf("%lld",&a[i]);}l[1]=1;r[n]=n; for(int i=2;i<=n;i++){int tmp=i;while(tmp>=1&&a[i]<=a[tmp-1]){tmp=l[tmp-1]; ///因为a[i]<=a[tmp-1],所以可以直接跳到tmp-1的l上}l[i]=tmp;}for(int i=n-1;i>=1;i--){int tmp=i;while(tmp<n&&a[i]<=a[tmp+1]){tmp=r[tmp+1];}r[i]=tmp;}ll maxx=-1;for(int i=1;i<=n;i++){maxx=max(maxx,(r[i]-l[i]+1)*a[i]);}printf("%lld\n",maxx);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40735.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云 ECS 服务器的安全组设置

阿里云 ECS 服务器的安全组设置 缘由安全组多个安全组各司其职一些常见的IP段百度 IP 段华为云 IP 段搜狗蜘蛛 IP 段阿里云 IP 段 。。。 缘由 最近公司规模缩减&#xff0c;原有的托管在 IDC 机房的服务器&#xff0c;都被处理掉了&#xff0c;所有代码都迁移到了阿里云的云服…

大模型学习笔记2【大模型】

文章目录 学习内容1.选择基座模型2.验证3.微调4.训练数据5.Instruction Tuning6.训练7.测试8.部署 学习内容 介绍流程 1.选择基座模型 基座模型对结果比较重要&#xff0c;一般选择的流程&#xff1a;首先关注整体性能&#xff08;打榜&#xff09;&#xff0c;其次关注所需…

腾讯云函数部署环境[使用函数URL]

使用函数URL 之前使用的是网关API,最近腾讯云的网关API说要关闭了,所以没有办法这里改成函数URL,使用后发现只要不是在浏览器直接访问的情况,函数URL都可以满足! 这里结合腾讯云函数node.js返回自动带反斜杠这篇文章来做说明,比如这里的URL如下: 结合文章腾讯云函数node.js返…

数组与 ArrayList 的区别是什么?

在Java中&#xff0c;数组和ArrayList都是非常常见的数据结构&#xff0c;但它们在使用场景、特点和功能上各有千秋。 理解它们的不同&#xff0c;对于初级Java工程师来说&#xff0c;是提升编程技能的一个重要环节。 下面&#xff0c;我将以一种简单明了的方式&#xff0c;对…

T113基于评估板SDK配置PD引脚异常

使用PD0/PD1/PD2作为IO输入时,发现输入检测到的值异常,断开输入的信号,直接示波器打IO口,还能发现波形信号,猜测该引脚存在引脚复用情况。 原因 这三个引脚在默认系统是作为显示相关引脚功能。 解决方法 1 ) Uboot修改

99. 岛屿数量

题目描述&#xff1a;给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成&#xff0c;并且四周都是水域。你可以假设矩阵外均被水包围。 输入描述&#xff1a…

SSZipArchive 解压后 中文文件名乱码问题

不知道什么情况&#xff0c;做为一个三方广泛使用的框架库&#xff0c;会出现这种比较低级的问题&#xff01; 还有中文的文件名解压后显示乱码&#xff01; 经过深入研究排查&#xff0c;发现目录或文件名编码错误&#xff01;但是POD库&#xff0c;不可能直接在里面改&#…

评估指标rouge安装与测试

github链接 https://github.com/pltrdy/rougegit clone https://github.com/pltrdy/rouge cd rouge python setup.py install新建一个py文件进行测试 注意:不能命名为rouge,否则导入相同的模块会因重名而报错!测试1(文本测试)from rouge import Rouge hypothesis = "…

Objective-C语法基础

注&#xff1a;编译器版本 XCode 15.4 新建一个XCode项目 新建一个类 1、成员变量、属性 1.1、类内使用成员变量&#xff0c;类外使用属性 Role.h #import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGINinterface Role : NSObject {//成员变量&#xff1a;只能…

Ubuntu18.04安装AutoWare.ai(完整版)

目录 目录 一、安装Opencv 1.1 下载安装包Opencv官网 1.2 安装opencv_contrib 二、安装Eigen库 1. 解压文件 2. 安装Eigen 3. 配置路径&#xff1a; 三、安装Ros和rosdepc 四、安装Autoware.ai-1.14.0 4.1 安装依赖 4.2 下载Autoware.ai 1.在home路径下打开终端输…

Linux下系统目录对应的功能介绍

Linux系统的目录结构遵循FHS&#xff08;Filesystem Hierarchy Standard&#xff0c;文件系统层次结构标准&#xff09;&#xff0c;提供一个清晰、一致的目录布局&#xff0c;便于系统维护和升级。 下面是Linux系统目录及其功能和存放内容的详细说明&#xff1a; /bin 功能…

RUP开发模型-系统架构师(二十三)

1、RUP是一个二维软件开发模型&#xff0c;其核心特点之一是&#xff08;&#xff09;。RUP将软件开发周期划分多个循环&#xff0c;每个循环由4个连续阶段组成&#xff0c;每个阶段完成确定的任务。设计及确定系统的体系结构&#xff0c;制定工作计划及资源要求在&#xff08;…

yum使用报错:ImportError: /lib64/libxml2.so.2: file too short

系统版本&#xff1a;Rocky 8.10 报错信息&#xff1a; Traceback (most recent call last):File "/usr/lib64/python3.6/site-packages/libdnf/error.py", line 14, in swig_import_helperreturn importlib.import_module(mname)File "/usr/lib64/python3.6/i…

CentOS创建SSH_key

使用命令创建ssh_key&#xff1a;ssh-keygen -t rsa -b 4096 -C "yournameexample.com"。提示创建密码等选项。进入SSH_key保存目录下&#xff0c;查看SSH_key&#xff1a; cd /root/.ssh #进入目录 ls #查看密钥文件将会发现有两个密钥文件&#xff0c;id_rsa, …

【AI学习】无线AI的问题和挑战

无线AI&#xff0c;即无线人工智能&#xff0c;是指内生于未来&#xff08;6G&#xff09;无线通信系统并通过无线架构、无线数据、无线算法和无线应用所呈现出来的新的人工智能技术体系。 最近一直在进行无线AI的调研&#xff0c;感觉真的是路漫漫其修远兮。业界有一些探索&a…

CVPR 2024最佳论文:“神兵”的组合器 Generative Image Dynamics

CVPR 2024的最佳论文来自谷歌、美国加州大学圣迭戈分校。两篇都来至于视频生成领域&#xff0c;可见今年外界对视频生成领域关注度很高。今天的这篇是“Generative Image Dynamics”&#xff0c;Google Research发布的。它的研究成果令人震惊&#xff0c;从单张RGB图像生成连续…

vite安装

参考&#xff1a; https://blog.csdn.net/xhc6666/article/details/135438491 要在项目中安装Vite&#xff0c;你需要使用npm或者yarn。以下是安装Vite的步骤&#xff1a; 打开终端&#xff08;或命令提示符&#xff09;。 确保你已经初始化了一个npm项目&#xff08;如果没…

远程监控在工业机械安全操作中的应用——以汽车起重机为例

远程监控技术&#xff0c;作为现代信息技术的重要分支&#xff0c;正逐渐在各个领域展现其独特的价值。从字面上理解&#xff0c;远程监控可以分为“监”和“控”两部分&#xff1a;其中&#xff0c;“监”指的是通过网络进行信息的获取与传递&#xff0c;实现远程状态的实时感…

stm32——定时器级联

在STM32当中扩展定时范围&#xff1a;单个定时器的定时长度可能无法满足某些应用的需求。通过级联&#xff0c;可以实现更长时间的定时&#xff1b;提高定时精度&#xff1a;能够在长定时的基础上&#xff0c;通过合理配置&#xff0c;实现更精细的定时控制&#xff1b;处理复杂…

【后端面试题】【中间件】【NoSQL】MongoDB查询过程、ESR规则、覆盖索引的优化

任何中间件的面试说到底都是以高可用、高性能和高并发为主&#xff0c;而高性能和高并发基本是同时存在的。 性能优化一直被看作一个高级面试点&#xff0c;因为只有对原理了解得很透彻的人&#xff0c;在实践中才能找准性能优化的关键点&#xff0c;从而通过各种优化手段解决性…