hdoj 1506 Largest Rectangle in a Histogram
来源:互联网 发布:psv舰娘为什么淘宝被禁 编辑:程序博客网 时间:2024/06/09 23:50
DP 找出 a[i] 的左边和右边与自己连着的比自己大的数的长度 , 然后用这个长度乘以 a[i], 乘积最大的那个就是答案 .
#include<stdio.h>#include<string.h>#define LL long long#define N 100005int i,n,t;LL a[N],l[N],r[N],max;int main(){ while (scanf("%d",&n) && n) { for (i=1; i<=n; ++i) scanf("%I64d",&a[i]); l[1]=1; r[n]=n; for (i=2; i<=n; ++i) { t=i; while (t>1 && a[i]<=a[t-1]) t=l[t-1]; l[i]=t; } for (i=n-1; i>=1; --i) { t=i; while (t<n && a[i]<=a[t+1]) t=r[t+1]; r[i]=t; } max=0; for (i=1; i<=n; ++i) { if ((r[i]-l[i]+1)*a[i]>max) max=(r[i]-l[i]+1)*a[i]; } printf("%I64d\n",max); } return 0;}
- hdoj 1506 Largest Rectangle in a Histogram
- HDOJ 1506 Largest Rectangle in a Histogram
- HDOJ 1506 : Largest Rectangle in a Histogram DP求解
- hdoj 1506 | poj 2559 Largest Rectangle in a Histogram
- hdoj-1506-Largest Rectangle in a Histogram【动态规划】
- hdoj 1506 Largest Rectangle in a Histogram【dp】
- hdoj 1506 Largest Rectangle in a Histogram 【单调栈】
- HDOJ 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
- HDU 1506 Largest Rectangle in a Histogram
- hdu 1506 Largest Rectangle in a Histogram
- hdu 1506 Largest Rectangle in a Histogram
- 长江商学院校友推荐40本书单
- 异机恢复后ORA-01152错误解决
- 递归实现汉诺塔
- Oracle 常用目录结构(10g)
- Win8 下删除多余的启动引导项
- hdoj 1506 Largest Rectangle in a Histogram
- IT行业:IT 精英在中国的生存现状
- [leetcode] Spiral Matrix II
- Customized Attached Property 附加属性
- stringex - STL string 扩展库
- 利用UDEV机制固定存储设备的名称
- [U-Boot] How make xxx_config works?
- hdu 1715(大数——取某一项斐波那契数)
- hdu4492 Mystery(不敢说很水,因为题没读懂)