CCF 201312-3 最大的矩形

Posted cuphead

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CCF 201312-3 最大的矩形相关的知识,希望对你有一定的参考价值。

未完。。。

//要求最大矩形,需要最大的长度和高度。
//划分区间的方法,当某高度低于左右两侧高度时,则以他为基准,分别算左右面积。
//设置一个变量记录全局最大面积。
//当长度为1时,计算完当前面积,并与最大面积比较后结束。

 

 1 #include<cstdio>
 2 int MS=0;
 3 int height[1000+5];
 4 int findMin(int s,int e){
 5     int m=s;
 6     for(int i=s+1;i<e;i++){
 7         if(height[i]<height[m])
 8             m=i;
 9     }
10     return m;
11 }
12 void part(int s,int e,int low){
13     int mid,tmp;
14     if(s==e){
15         if(MS<height[s])
16             MS=height[s];
17         return ;
18     }else{
19         tmp=(e-s+1)*height[low];
20         if(MS<tmp)
21             MS=tmp;
22         if(s==low){
23             mid=findMin(s+1,e);
24             part(s+1,mid,mid);
25             part(mid,e,mid);
26         }else if(e==low){
27             mid=findMin(s,e);
28             part(s,mid,mid);
29             part(mid,e-1,mid);
30         }
31     }
32 }
33 int main(){
34     int n,i,mid;
35     scanf("%d",&n);
36     for(i=0;i<n;i++){
37         scanf("%d",height+i);
38     }
39     mid=findMin(0,n);
40     part(0,mid,mid);
41     part(mid,n-1,mid);
42     printf("%d",MS);
43     return 0;
44 }

 

以上是关于CCF 201312-3 最大的矩形的主要内容,如果未能解决你的问题,请参考以下文章

CCF - 201312-3 - 最大的矩形

CCF CSP 201312-3 最大的矩形

CCF 201312-3 最大的矩形[比较简单]

CCF系列之最大的矩形(201312-3)

CCF 201312-3 最大的矩形

CCF 201312-3最大的矩形 (暴力,离散化)