近期情绪太不稳定了。可能是由于在找实习这个过程碰壁了吧。第一次面试就跪了,可能是我面的是一个新公司,制度不完好,我感觉整个面试过程全然不沾编程,我面试的还是软件开发~后来我同学面试的时候。说是有一道数学题了。最后都已经签了,orz...其它同学都陆续签了,有签了知乎。有签了猎豹的,有签了阿里的,我还在想着打比赛,作为一个快大四的人。我还想着打比赛。甚至我连队友都快没了~可是我还想坚持!到如今,我基本没课了,每天都仅仅能是刷刷题,写写python,搞搞shell,我都不知道我在干嘛~!有没有大神给我来份实习啊!!!(还是要自己去找的..)事实上,对照那些签了约的同学,一開始我就非常不服输。我认为明明我应该相比他们“厉害”啊。后来。我发现。我还是太弱了,火候没够,再坚持一把吧。

由于随时都可能组不成队伍,所以我每天刷题的时间不超过三个小时,很多其它时候仅仅是一个小时,就是早起来刷一题。

近期一直在做dp.可是今天做一题我做过的题目都弄了非常久,烦死,思想不集中!

题目的意思就是,在直方图中找一个面积最大的矩形。思想就是dp咯。就是对于每个小矩形向外扩展。直到扩展到比它矮,这样这个小矩形所组成的面积就是最大了,可是在扩展这个过程注意迭代,不然就会跪在TLE了。n^2必超的啊。

/***********************************************************
> OS : Linux 3.2.0-60-generic #91-Ubuntu
> Author : yaolong
> Mail : dengyaolong@yeah.net
> Time : 2014年06月01日 星期日 07:14:54
**********************************************************/
#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int h[123456];
int lt[123456],rt[123456];
int main(){
int n;
while(scanf("%d",&n)&&n){
for(int i=1;i<=n;i++){
scanf("%d",&h[i]);
}
long long res=0LL;
rt[n]=n;lt[1]=1;
for(int i=n-1;i>=1;i--){
/*if(h[i]<=h[i+1]){
rt[i]=rt[i+1];
}else{
rt[i]=i;
}*/
int t=i;
while(t<n&&h[i]<=h[t+1]) t=rt[t+1];
rt[i]=t; }
for(int i=2;i<=n;i++){
/*
if(h[i]<=h[i-1]){
lt[i]=lt[i-1];
}else{
lt[i]=i;
}*/
int t=i;
while(t>1&&h[i]<=h[t-1]) t=lt[t-1];
lt[i]=t;
} for(int i=1;i<=n;i++){
res=max(res,(long long)h[i]*(rt[i]-lt[i]+1)); }
printf("%I64d\n",res);
} return 0;
}

HDU1506 ( Largest Rectangle in a Histogram ) [dp]的更多相关文章

  1. hdu---1506(Largest Rectangle in a Histogram/dp最大子矩阵)

    Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  2. NYOJ-258/POJ-2559/HDU-1506 Largest Rectangle in a Histogram,最大长方形,dp或者单调队列!

                                         Largest Rectangle in a Histogram 这么经典的题硬是等今天碰到了原题现场懵逼两小时才会去补题.. ...

  3. HDU1506 Largest Rectangle in a Histogram (动规)

    Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  4. hdu1506——Largest Rectangle in a Histogram

    Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  5. hdu1506 Largest Rectangle in a Histogram

    Problem Description A histogram is a polygon composed of a sequence of rectangles aligned at a commo ...

  6. HDU 1506 Largest Rectangle in a Histogram(DP)

    Largest Rectangle in a Histogram Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  7. 【题解】hdu1506 Largest Rectangle in a Histogram

    目录 题目 思路 \(Code\) 题目 Largest Rectangle in a Histogram 思路 单调栈. 不知道怎么描述所以用样例讲一下. 7 2 1 4 5 1 3 3 最大矩形的 ...

  8. 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 ...

  9. BNUOJ-15505 Largest Rectangle in a Histogram DP

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=15505 每个h[i]维护两个值l[i]和r[i],分别表示大于h[i]的左边最远距离和小于 ...

随机推荐

  1. scala函数进阶与lazy的作用

    内容如下. lazy修饰的变量可以延迟初始化,如下面所示,文件未必存在,file变量未必有内容.

  2. MYSQL 错误日志

    背景知识 : 就算我们不配置mysql的错误文件,它也会有一个默认的,在data文件夹下保存(.err文件) 还好这个文件保存在哪我们还是可以配置的 配置方法: log-err=E:\DB\mysql ...

  3. 解决Qt程序发布时中文乱码问题(通过QApplication.addLibraryPath加载QTextCodec插件)

    Qt程序的文字编码,是通过插件来解决的,所以我们发布的时候需要把相应的插件也发布出去,在开发者电脑上程序会自动从插件目录加载到插件,但是如果发布给别的电脑使用,需要手动指定插件路径,如下所示: int ...

  4. billing是如何的拆分的?

    在SD模块中,我们经常会考虑Billing分拆,分拆的标准如下: 一.根据Billing的字段项目进行分拆 在sap的标准系统中,系统会比较VBRK表的所有字段(也包含复制拆分组合标准字段ZUKRI) ...

  5. 折腾slidingmenu

    转自自己jekyll博客 alanslab.cn 第一次用gimp做这么大工程,出乎意料,蛮好用的.以前ps倒是蛮熟练的,只摸 过两下gimp,感觉望而生畏.今天硬着头皮折腾了一阵子,发现最起码上图可 ...

  6. 在.NET中快速创建一个5GB、10GB或更大的空文件

    对于通过UDP进行打文件传输的朋友应该首先会考虑到一个问题,那就是由于UDP并不会根据先来先到原则进行发送,也许你发送端发送的时候是以包1和包2的顺序传输的,但接收端可能以包2和包1 的顺序来进行接收 ...

  7. UML的基本图(一)

     A class diagram shows a set of classes, interfaces, and collaborations and their relationships. T ...

  8. SQL练习之不破坏应用程序现有查询的修改模式

    当我还是一个菜鸟的时候,当然现在也是,当我的软件需求发生变化时,并且数据库设计同样要求发生变化,我通常会放弃原有的代码(或者对原有的代码进行大改),先在我知道了两个不破坏应用程序现有查询的修改模式,下 ...

  9. 安装 GitStack 提示 80 端口 被 SYSTEM PID4 占用

    任务管理器 - 服务 W3SVC - World Wide Web Publishing Service  停止服务.

  10. Replace不区分大小写

    private string ReplaceNoCase(string text, string oldValue, string newValue) { return System.Text.Reg ...