HDU 1506 Largest Rectangle in a Histogram(单调栈)
来源:互联网 发布:协同过滤具体算法 编辑:程序博客网 时间:2024/05/16 07:35
此题和POJ的feel good类似,只不过最后直接求解的是max=a[i]*(r[i]-l[i]+1);坑点是输入的n个数必须用I64,否则WA。
#include<algorithm>#include<iostream>#include<stdio.h>#include<string.h>#include<cstdio>#include<cstdlib>#include<string>#include<queue>#include<map>#include<cmath>#define L1 long long#define L2 __int64#define inf 0x3f3f3f3fusing namespace std;L2 a[1000000];L2 l[1000100],r[1000100];int main(){ int n,m,i,j,k; while(~scanf("%d",&n)&&n) { for(i=1;i<=n;i++){ scanf("%I64d",&a[i]); l[i]=r[i]=i; } for(i=1;i<=n;++i){ while(l[i]>1&&a[l[i]-1 ]>=a[i] ){ l[i]=l[l[i]-1 ]; } } for(i=n;i>=1;--i){ while(r[i]<n&&a[r[i]+1 ]>=a[i]){ r[i]=r[r[i]+1 ]; } } L2 ma=0; for(i=1;i<=n;i++){ L2 t=(r[i]-l[i]+1 )*a[i]; if(t>ma){ ma=t; } } printf("%I64d\n",ma); } return 0;}
0 0
- HDU 1506 Largest Rectangle in a Histogram(单调栈)
- hdu 1506 Largest Rectangle in a Histogram(单调栈)
- HDU 1506 Largest Rectangle in a Histogram 单调栈
- hdu 1506 Largest Rectangle in a Histogram 单调栈
- HDU 1506 Largest Rectangle in a Histogram(单调栈)
- HDU 1506 Largest Rectangle in a Histogram (单调栈)
- HDU-1506 Largest Rectangle in a Histogram(单调栈)
- hdu 1506 Largest Rectangle in a Histogram DP 单调队列
- hdu 1506 Largest Rectangle in a Histogram 单调队列
- HDU 1506 Largest Rectangle in a Histogram(单调队列)
- hdoj 1506 Largest Rectangle in a Histogram 【单调栈】
- HDOJ 1506 Largest Rectangle in a Histogram(单调栈)
- POJ 2559 / HDU 1506 / LightOJ 1083 Largest Rectangle in a Histogram (单调栈)
- hdu 1506 Largest Rectangle in a Histogram(单调栈||dp)
- HDU 1506 Largest Rectangle in a Histogram(DP·单调栈)
- hdu - 1506 - Largest Rectangle in a Histogram(dp / 单调栈)
- HDU-1506 (POJ-2599) Largest Rectangle in a Histogram (单调栈)
- HDU 1506 Largest Rectangle in a Histogram(最大矩形面积、单调栈)
- python 一个单列表和一个字典元素的列表合并
- Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)
- Dubbo架构设计详解
- MySQL查询
- UML建模之时序图(Sequence Diagram)
- HDU 1506 Largest Rectangle in a Histogram(单调栈)
- Twitter也玩硬件了:投资高端耳机公司Muzik
- cocos2dx3.4 new Lua项目后编译黑屏问题的解决
- Cornerstone无法查看log解决办法
- MySql 数据库的备份与还原
- 解读Nodejs多核处理模块cluster
- UVa 11597 - Spanning Subtree
- 处理大并发之一 对异步非阻塞的理解
- C++11多线程(五):《<future> 详解一:std::promise 介绍》