SCAU OJ 9715 相邻最大矩形面积
来源:互联网 发布:数据库原理及技术ppt 编辑:程序博客网 时间:2024/04/28 12:36
描述:
在X轴上水平放置着 N 个条形图,这 N 个条形图就组成了一个柱状图,每个条形图都是一个矩形,每个矩形都有相同的宽度,均为1单位长度,但是它们的高度并不相同。例如下图,图1包含的矩形的高分别为2,1,4,5,1,3,3 单位长度,矩形的宽为1单位长度。
你的任务就是计算柱状图中以X轴为底边的最大矩形的面积。图2阴影部分就是上述例子的最大矩形面积。
思路:
我们可以利用暴力破解来解决该题,某一点开始向他的两个方向开始搜索,看看他能向两边延伸到多长的距离,最后就是该长度乘以该点的高度即可。
实现代码:
01
#
include
<iostream>
02
#
include
"stdio.h"
03
04
#define N 100005
05
#define INF 999999999
06
07
using namespace std;
08
09
int Len[N];
10
long long ans,Max;
11
12
int main()
13
{
14
int n,i,j;
15
int ls,rs;
16
17
while
(scanf(
"%d"
,&n)==1&&n)
18
{
19
ls=rs=0;
20
ans=-INF;
21
22
for
(i=0;i<n;i++)
23
{
24
scanf(
"%d"
,&Len[i]);
25
}
26
27
for
(i=0;i<n;i++)
28
{
29
ls=rs=0;
//分别能向左边ls,右边rs两端能够扩展的最大长度
30
31
for
(j=i-1;j>=0;j--)
32
{
33
if
(Len[j]>=Len[i])
34
{
35
ls++;
36
}
37
else
38
{
39
break
;
40
}
41
}
42
43
for
(j=i+1;j<=n;j++)
44
{
45
if
(Len[j]>=Len[i])
46
{
47
rs++;
48
}
49
else
50
{
51
break
;
52
}
53
}
54
55
Max=(ls+rs+1)*Len[i];
56
57
if
(ans<Max)
58
ans=Max;
59
}
60
61
cout<<ans<<endl;
62
}
63
64
return
0;
65
}
0 0
- SCAU OJ 9715 相邻最大矩形面积
- scau 9715 相邻最大矩形面积
- 相邻最大矩形面积
- 算法设计分析:相邻最大矩形面积
- 最大矩形面积问题
- 【最大子矩形】面积
- 【最大子矩形】面积
- POJ2559 最大矩形面积
- POJ2082 最大矩形面积
- 求最大矩形面积
- 直方图最大面积矩形
- 最大矩形面积
- 最大连续矩形面积
- POJ2559 最大矩形面积
- 直方图最大矩形面积
- 【t009】最大矩形面积
- 面积最大的矩形
- 最大矩形面积
- hive权限控制(一)
- hive权限控制(二)
- 移动应用与PC应用之比较
- Alice支持中文
- Android 深入研究LBS(基于位置的服务)
- SCAU OJ 9715 相邻最大矩形面积
- android系统资源之主题以及styleable、style关系
- Leetcode_unique-binary-search-trees
- 黑马程序员_集合Collection
- 解决使用libpq时提示一系列SSL相关函数没有定义导致编译失败的问题
- 【Android】监听电话状态
- C++段错误
- 附睾结核杆菌的统一计算体验空间所有人
- 【OpenGL】Shader实例分析(三)- 等待标识