HDU 1506 Largest Rectangle in a Histogram
这个问题姑且也叫做最大子矩阵吧
给一个树状图,求一个最大面积的子矩阵
思路是这样的,对于每个单位矩阵,求出左边连续不比它低的矩阵的下标,放在l数组里
同样,再求出右边连续的不比它低的矩阵的下标
这样,对于每个单个矩阵所能得到的最大面积就是 (r[i]-l[i]+1)*a[i]
//#define LOCAL
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; const int maxn = + ;
long long a[maxn], l[maxn], r[maxn]; int main(void)
{
#ifdef LOCAL
freopen("1506in.txt", "r", stdin);
#endif long long n;
while(scanf("%I64d", &n) == && n)
{
long long ans = -;
long long i, t;
for(i = ; i <= n; ++i)
scanf("%I64d", &a[i]);
l[] = ;
r[n] = n;
for(i = ; i <= n; ++i)
{
t = i;
while(t > && a[i] <= a[t-])
t = l[t-];
l[i] = t;
}
for(i = n-; i > ; --i)
{
t = i;
while(t < n && a[i] <= a[t+])
t = r[t+];
r[i] = t;
}
long long temp;
for(i = ; i <= n; ++i)
{
temp = (r[i]-l[i]+)*a[i];
ans = max(ans, temp);
}
printf("%I64d\n", ans);
}
return ;
}
代码君
HDU 1506 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 ...
- 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)
题目网址: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 ...
- hdu 1506 Largest Rectangle in a Histogram(单调栈)
L ...
- 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&&51nod 1158 全是1的最大子矩阵 (单调栈)
单调栈和队列讲解:传送门 HDU -1506题意: 就是给你一些矩形的高度,让你统计由这些矩形构成的那个矩形面积最大 如上图所示,如果题目给出的全部是递增的,那么就可以用贪心来解决 从左向右依次让每一 ...
- hdu 1506 Largest Rectangle in a Histogram——笛卡尔树
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1506 关于笛卡尔树的构建:https://www.cnblogs.com/reverymoon/p/952 ...
随机推荐
- 遭遇Asp.Net长文件名下载的问题和解决办法
在Asp.Net中写了一个附件上传和下载的程序,附件上传到数据库中,然后将附件的GUID保存起来,我们可以根据GUID来找到数据库中的附件,一般附件下载的代码是: <!--<br /> ...
- javascript设计模式--中介者模式(Mediator)
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- APM 终端用户体验监控分析(上)
一.前言 理解用户体验是从终端用户角度了解应用交付质量的关键,这是考量业务健康运转的潜在因素.捕获此类数据的方法各种各样,具体的实现途径由应用.基础设施架构以及管理者和管理过程决定. 二.终端用户监控 ...
- 导出含有图片的项目成jar文件后运行,图片不显示
在编写完Java程序后,打包成Jar时发布,会发现找不到Jar文件中的图片和文本文件,其原因是程序中载入图片或文本文件时,使用了以当前工作路径为基准的方式来指定文件和路径.这与用户运行Jar包时的当前 ...
- NtpClient
http://www.baidu.com/link?url=IWGCXsX4Mns_ZjEF6HYEK156xCsndi9Bu1w3x_YiaJfdsr8vf0Q5worm43W3OiEmSHpzTp ...
- tomcat下context.xml中JNDI数据源配置
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- Install wxWidgets-3.0.2 on GNU/Linux Debian
转载自 http://www.binarytides.com/install-wxwidgets-ubuntu/ wxWidgets wxWidgets is an application devel ...
- converntion
One convention that we have is to use the names of fruits and vegetables for variables(only in small ...
- TaskController.java-20160611
package main.java.com.zte.controller.system; import java.io.PrintWriter;import java.util.ArrayList;i ...
- 纯HTML标签详解
HTML标签很多,可是实际上常用的却就那么十几二十个,很多标签的功能渐渐的被大家忽略了.然后,如果在适当的时候,用一用,还是能在一定程序上 给我们的页面设计带来一点小小的方便的.下面这些HTML标签基 ...