hdu 1506 Largest Rectangle in a Histogram ((dp求最大子矩阵))
来源:互联网 发布:易吧进销存软件 编辑:程序博客网 时间:2024/06/06 04:01
# include <stdio.h># include <algorithm># include <iostream># include <math.h>using namespace std;__int64 a[100010],l[100010],r[100010];///l[i]左边连续大于等于a[i]的下标,r[i]右边连续大于等于a[i]的下标,所以对于a[i]的矩形面积为(l[i]-r[i]+1)*a[i];int main(){ __int64 maxn; int i,n; while(~scanf("%d",&n),n) { for(i=1;i<=n;i++) { scanf("%I64d",&a[i]); l[i]=r[i]=i; } for(i=2;i<=n;i++) { while(l[i]>1&&a[l[i]-1]>=a[i]) l[i]=l[l[i]-1]; } for(i=n-1;i>=1;i--) { while(r[i]<n&&a[r[i]+1]>=a[i]) r[i]=r[r[i]+1]; } maxn=-1; for(i=1;i<=n;i++) { if(a[i]*(r[i]-l[i]+1)>maxn) maxn=a[i]*(r[i]-l[i]+1); } printf("%I64d\n",maxn); } return 0;}
0 0
- hdu 1506 Largest Rectangle in a Histogram ((dp求最大子矩阵))
- HDU 1506 Largest Rectangle in a Histogram(dp求最大子矩阵和)
- hdu 1506 Largest Rectangle in a Histogram (最大子矩阵)
- hdu 1506 Largest Rectangle in a Histogram(最大子矩阵)
- Hdu 1506 Largest Rectangle in a Histogram (DP求最大长方形面积)
- HDU 1056 Largest Rectangle in a Histogram(dp)(求最大的矩形面积)
- 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 (dp) Largest Rectangle in a Histogram
- HDU 1506 动态规划(DP) 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)
- Largest Rectangle in a Histogram - HDU 1506 dp
- HDU 1506 Largest Rectangle in a Histogram(DP)
- 第二章 第三节 Linux设备驱动程序之--模块参数
- python学习2
- 常用网址
- 数据结构概念
- 轻松学习之Linux教程六 正则表达式详解
- hdu 1506 Largest Rectangle in a Histogram ((dp求最大子矩阵))
- URAL 1577. E-mail(简单二维dp)
- CentOS内核网卡驱动列表
- HDU 3784 继续xxx定律
- BZOJ 2287: 【POJ Challenge】消失之物
- 微信公众号开发系列-发送客服消息
- 【重磅】移动网络性能揭秘(下)--网络协议及性能提升实践
- Intent Action 大全
- 初探java 对象中wait(),notify(),notifyAll() 和线程中的synchronized