hdu 1507 Largest Rectangle in a Histogram 动态规划计算最大面积
记录动态规划dpl,dpr,分辨记录i左面的比i大的,右面比i大的,然后(dpr[i]-dpl[i]+1)*h[i]得出长度
动态转移方程while(temp>1 && h[temp-1]>=h[i]) temp=dpl[temp-1]
/*************************************************************************
> File Name: hdu1506.cpp
> Author: yang
> Mail:826123027@qq.com
> Created Time: 2014年08月24日 星期日 23:41:16
************************************************************************/ #include<iostream>
#include<stdio.h>
#include<memory.h>
using namespace std;
#define N 100005
int main(){
int dpl[N],dpr[N];
long long h[N];
int n;
while(scanf("%d",&n),n){
for(int i=1;i<=n;i++)
scanf("%lld",&h[i]);
dpl[1]=1;
int temp;
for(int i=2;i<=n;i++){
temp=i;
while(temp>1 && h[temp-1]>=h[i]) temp=dpl[temp-1];
dpl[i]=temp;
}
dpr[n]=n;
for(int i=n-1;i>=1;i--){
temp=i;
while(temp<n && h[i]<=h[temp+1]) temp=dpr[temp+1];
dpr[i]=temp;
}
long long sum,ans=0;
for(int i=1;i<=n;i++){
// cout<<dpl[i]<<" "<<dpr[i]<<endl; sum=(dpr[i]-dpl[i]+1)*h[i];
// cout<<"sum:"<<sum<<endl;
if(sum>ans) ans=sum;
}
cout<<ans<<endl;
}
}
hdu 1507 Largest Rectangle in a Histogram 动态规划计算最大面积的更多相关文章
- HDU 1506 Largest Rectangle in a Histogram (dp左右处理边界的矩形问题)
		E - Largest Rectangle in a Histogram Time Limit:1000MS Memory Limit:32768KB 64bit IO Format: ... 
- HDU 1506 Largest Rectangle in a Histogram set+二分
		Largest Rectangle in a Histogram Problem Description: A histogram is a polygon composed of a sequenc ... 
- Largest Rectangle in a Histogram(最大矩形面积,动态规划思想)
		Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ... 
- hdu 1506 Largest Rectangle in a Histogram 构造
		题目链接:HDU - 1506 A histogram is a polygon composed of a sequence of rectangles aligned at a common ba ... 
- HDU 1506 Largest Rectangle in a Histogram(DP)
		Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ... 
- HDU 1506 Largest Rectangle in a Histogram(区间DP)
		题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1506 题目: Largest Rectangle in a Histogram Time Limit: ... 
- DP专题训练之HDU 1506 	Largest Rectangle in a Histogram
		Description A histogram is a polygon composed of a sequence of rectangles aligned at a common base l ... 
- Hdu 1506 Largest Rectangle in a Histogram                                                    分类:            Brush Mode             2014-10-28 19:16    93人阅读    评论(0)    收藏
		Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 ... 
- POJ 2559 Largest Rectangle in a Histogram -- 动态规划
		题目地址:http://poj.org/problem?id=2559 Description A histogram is a polygon composed of a sequence of r ... 
随机推荐
- OSG坐标系统
			1.世界坐标 世界坐标系描述的是整个场景中所有的对象,可以理解为绝对坐标系,所有对象的位置都是绝对坐标.从整体上考虑,它为所有对象的位置提供一个绝对的参考标准,从而避免了物体之间由于独 ... 
- 微信网页授权java实现
			功能:主要用于在用户通过手机端微信访问第三方H5页面时获取用户的身份信息(openId,昵称,头像,所在地等..)可用来实现微信登录.微信账号绑定.用户身份鉴权等功能. 开发前的准备: 1.需 ... 
- gcc编译器对宽字符的识别
			最早是使用VC++工具来学习C++,学的越多就越对VC挡住的我看不见的东西好奇,总想多接触一些开发环境,今日抽空摸索了一下CodeBlocks这个开源的IDE使用方法,配置的编译器是MinGW的gcc ... 
- NOI2014 Day2
			NOI2014 Day2 动物园 题目描述:给出一个字符串(长度为\(Len\)),设\(num[i]\)为字符串的前\(i\)个字符构成的子串(\(A\))中,满足\(A\)的前\(L\)个字符既是 ... 
- hadoop源码eclipse环境搭建-源码获取阶段
			就目前了解,结合eclipse阅读和编译hadoop源码用两种方式:svn和git. 根据官方指南http://wiki.apache.org/hadoop/EclipseEnvironment 推荐 ... 
- CentOS 删除自带的OpenJDK 和 安装SunJDK
			[root@WX32 local]# java -version java version "1.6.0" OpenJDK Runtime Environment (build - ... 
- 从麦肯锡到小黑裙-Project Gravitas |华丽志
			从麦肯锡到小黑裙-Project Gravitas |华丽志 从麦肯锡到小黑裙-Project Gravitas 
- python-模块系列
			--> 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能 ... 
- Review1-11
			泛型 泛型类 Public 类名 class<T>{} 泛型方法 Public static <T> 返回类型 方法名(<T> t){} 泛型类型必须使用引用类型 ... 
- linux重新编译内核
			一.linux内核 1.查看linux内核版本 uname -r 2.下载对应的linux内核 https://www.kernel.org/pub/linux/kernel/ 将内核文件夹解压到/u ... 
