1506题目

1505题目

1506:
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int Max = 100010;
int main()
{
int n;
long long num[Max],temp;
int L[Max],R[Max];
while(~scanf("%d",&n),n)
{
memset(L,0,sizeof( L));
memset(R,0,sizeof(R));
for(int i=1; i<=n; i++)
scanf("%lld",&num[i]);
L[1] = 1;
R[n] = n;
for(int i=2; i<=n; i++)
{
temp = i;
while( temp > 1 && num[i]<=num[temp-1])
temp = L[temp-1];
L[i] = temp;
}
for(int i=n-1; i>=1; i--)
{
temp = i;
while(temp < n && num[i] <= num[temp+1])
temp = R[temp+1];
R[i] = temp ;
} long long max = 0;
for(int i=1; i<= n; i++)
{
if((R[i]-L[i]+1)*num[i] > max ) max = (R[i]-L[i]+1)*num[i];
}
printf("%lld\n",max);
}
return 0;
}

1505:
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
int d[1010][1010],L[1010],R[1010];
int main()
{ int n,T,m;
char ch[2];
cin>>T;
while(T--)
{
memset(d,0,sizeof(d));
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m; j++)
{
cin>>ch;
if(ch[0]=='F')
d[i][j]=d[i-1][j] + 1;
else
d[i][j] = 0;
}
}
int max = 0;
for(int i=1; i<=n; i++)
{
for(int j=1; j<= m; j++ )
{
L[j] = j;
while(L[j]>1 && d[i][j] <= d[i][L[j]-1] )
L[j] = L[ L[j] - 1 ];
}
for(int j=m; j>=1; j--)
{
R[j] = j;
while(R[j] < m && d[i][j] <= d[i][R[j] + 1]){
R[j] = R[ R[j] + 1];
} }
for(int j=1; j<=m; j++)
{
if(max < ((R[j]-L[j]+1)*d[i][j]))
max = ( R[j]-L[j]+1)*d[i][j];
}
}
cout<<max*3 <<endl;
}
return 0;
}



这两道题差不多,第一道题相对于第二道来说是一维的,第二道相对于第一道来说是二维的。
左边向左延伸,右边向右延伸,直至能够延伸到的最大距离。

hdu 1505,1506的更多相关文章

  1. HDU 1505 City Game (hdu1506 dp二维加强版)

    F - City Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

  2. HDU 1505 Largest Rectangle in a Histogram &amp;&amp; HDU 1506 City Game(动态规划)

    1506意甲冠军:给你一个连续的直方图(拼贴底部长度1).求连续基质区. 对每一个直方图,分别向左向右进行扩展. #include<cstdio> #include<stdlib.h ...

  3. HDU——T 1506 Largest Rectangle in a Histogram|| POJ——T 2559 Largest Rectangle in a Histogram

    http://acm.hdu.edu.cn/showproblem.php?pid=1506  || http://poj.org/problem?id=2559 Time Limit: 2000/1 ...

  4. hdu 1505(dp求最大子矩阵)

    题意:就是让你求出全由F组成的最大子矩阵. 分析:这是hdu 1506的加强版,只不过这道题变成了2维的,那我们就一行一行的来.具体的分析见1506的博客:http://www.cnblogs.com ...

  5. hdu 1505 && hdu1506 &&hdu 2830 && 2870 总结---------DP之状图选最大矩形

    /* 多谢了“闭眼,睁眼” 同学给我一套dp专题,不然真是没接触过这种题型. 做个4个简单的,很高兴有所收获. 2013-08-06 /* HDU 1506 最基础的一道题目,其主要精髓就在于两个数组 ...

  6. POJ 1964&HDU 1505&HOJ 1644 City Game(最大0,1子矩阵和总结)

    最大01子矩阵和,就是一个矩阵的元素不是0就是1,然后求最大的子矩阵,子矩阵里的元素都是相同的. 这个题目,三个oj有不同的要求,hoj的要求是5s,poj是3秒,hdu是1秒.不同的要求就对应不同的 ...

  7. HDU 1505 City Game(DP)

    City Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...

  8. HDU 1505 City Game【DP】

    题意:是二维的1506,即在1506的基础上,再加一个for循环,即从第一行到最后一行再扫一遍--- 自己写的时候,输入的方法不对---发现输不出结果,后来看了别人的----@_@发现是将字母和空格当 ...

  9. HDU 1505 City Game

    这题是上一题的升级版 关键在于条形图的构造,逐行处理输入的矩阵,遇到'F'则在上一次的条形图基础上再加1,遇到'R'则置为0 然后用上一题的算法,求每行对应条形图的最大矩阵的面积. 另外:本来是deb ...

随机推荐

  1. 树莓派 Zero W+温度传感器DS18B20

    树莓派 Zero W+温度传感器DS18B20 作者:陈拓chentuo@ms.xab.ac.cn 2018.05.28/2018.06.01 0.  概述 用树莓派 Zero W读取DS18B20温 ...

  2. cf-Round542-Div2-B(贪心)

    题目链接:http://codeforces.com/contest/1130/problem/B 思路: 贪心题.定义结构体数组a,a[i].x[0],a[i].x[1]分别表示i出现的第一个下标和 ...

  3. Water Tree(树链剖分+dfs时间戳)

    Water Tree http://codeforces.com/problemset/problem/343/D time limit per test 4 seconds memory limit ...

  4. Chip Factory(01字典树)

    Chip Factory http://acm.hdu.edu.cn/showproblem.php?pid=5536 Time Limit: 18000/9000 MS (Java/Others)  ...

  5. [leetcode]689. Maximum Sum of 3 Non-Overlapping Subarrays三个非重叠子数组的最大和

    In a given array nums of positive integers, find three non-overlapping subarrays with maximum sum. E ...

  6. 在CentOS7上部署Kubernetes集群

    在CentOS7上部署Kubernetes集群 文/FCBusquest 2015-12-22 18:36:00 简介 Kubernetes(k8s)是Google开源的大规模容器集群管理系统, 本文 ...

  7. MVC中构建Linq条件、排序、Selector字段过滤

    代码: System.Linq.Expressions.Expression<Func<Domain.S_ROLE, bool>> expressWhere1 = (c =&g ...

  8. [BAT]批处理脚本双击可运行,但在定时计划任务中无法执行(当前工作路径不对导致的)

    一开始,红色部分我是用set AutoPath=%cd%,双击可执行,但是将这个批处理脚本放在定时任务中无法执行,后来发现在定时执行的时候,当前工作路径不是批处理脚本所在的路径,而是C:/Window ...

  9. Mockplus教程:分分钟搞定APP首页原型设计

    Mockplus是一款快速原型设计工具,支持包括APP原型在内的多种原型与线框图设计.除了快速,Mockplus广受欢迎更因为它极低的上手门槛.今天小编就为大家展示如何用Mockplus在3分钟内完成 ...

  10. c++日志练习

    使用ostream流创建写入log日志文件 使用宏 配置文件大小和间隔时间  当创建文件时间间隔或文件大小大于指定数字 则创建新文件 文件名由时间自动命名 /********************* ...