CCF201312-3最大矩形(暴力)

 
 
 1 #include<iostream>
 2 using namespace std;
 3 //暴力计算
 4 int a[1001];//原数组
 5 int main(){
 6     int i,j,k,n,max,len,temp;
 7     cin>>n;
 8     for(i=0;i<n;i++){
 9         cin>>a[i];
10     }
11     max=a[0];
12     for(i=0;i<n;i++){
13         len=1;
14         for(j=i-1;j>=0;j--){
15             //if(i==0)break;
16             if(a[j]>=a[i]){
17                 len++;
18             }else{
19                 break;
20             }
21         }
22         for(j=i+1;j<n;j++){
23             //if(j==n-1)break;
24             if(a[j]>=a[i]){
25                 len++;
26             }else{
27                 break;
28             }
29         }
30         temp=a[i]*len;
31         if(temp>max)
32         max=temp;
33     }
34     cout<<max<<endl;
35     return 0;
36 } 
时间: 2024-10-14 04:27:58

CCF201312-3最大矩形(暴力)的相关文章

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

问题描述 在横轴上放了n个相邻的矩形,每个矩形的宽度是1,而第i(1 ≤ i ≤ n)个矩形的高度是hi.这n个矩形构成了一个直方图.例如,下图中六个矩形的高度就分别是3, 1, 6, 5, 2, 3. 请找出能放在给定直方图里面积最大的矩形,它的边要与坐标轴平行.对于上面给出的例子,最大矩形如下图所示的阴影部分,面积是10. 输入格式 第一行包含一个整数n,即矩形的数量(1 ≤ n ≤ 1000). 第二行包含n 个整数h1, h2, … , hn,相邻的数之间由空格分隔.(1 ≤ hi ≤

数矩形(N - 暴力求解、打表)

数矩形 Description 给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格. Input 第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的高和宽 ( n < 100 , m < 100). Output 每行输出网格中有多少个矩形. Sample Input 2 1 2 2 4 Sample Output 3 30 题意: 一个N*M的网格,计算有多少矩形? 分析: 数学问题. 用到暴力,和打表的方法.打表就是找规律然后直接

Zoj 3616 Choir III 【有想法的暴力】【容斥】

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3616 题目大意:给出n, m, b, g (0 < n <= 100, 0 < m <= 2000, 0 < b, g <= m * n)这些数字,下面n行,每一行有2*m个数字,第一个数字表示一个同学对于合唱的贡献,第二个数字表示同学的性别,b和g表示在一个矩形内至少有的男生和女生的数量.求一个矩形使得这个矩形内的对合唱的贡献值最大并

区间Dp 暴力枚举+动态规划 Hdu1081

F - 最大子矩形 Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Description Given a two-dimensional array of positive and negative integers, a sub-rectangle is any contiguous sub-array of size 1*1 or greater located withi

uva 618 - Doing Windows(暴力+数学)

题目链接:uva 618 - Doing Windows 题目大意:给出电脑桌面的大小W和H,现在在桌面上有4个窗口,给出窗口的初始大小,问说能不能通过调整各个窗口的大小(长宽比例不能变)使得4个屏幕刚好占满整个屏幕,并且互相不覆盖. 解题思路:其实可以直接暴力出所有情况,不过细节比较多,而且要考虑所有的细节. 我的做法的是先将4个窗口缩小至最小的状态,然后枚举左下角的窗口, 有四种可能 蓝色部分为另外枚举的窗口,3,4种情况要分别保证说长.宽相等,然后S部分就是子问题. 所以用一个二进制数来表

hdu 3624 City Planning(暴力,也可扫描线)

City Planning Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 503    Accepted Submission(s): 213 Problem Description After many years, the buildings in HDU has become very old. It need to rebui

Hdu 3687 National Day Parade(暴力)

题目地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=3687 思路:暴力,枚举每列(矩形开始的列),将同一行的人按列从小到大排序,则每个人的移动距离为abs(g[j][k]-i-k)(第j行的第k个人移动到合适位置距离),枚举累加取最最小值即可. #include<cstdio> #include<vector> #include<cstring> #include<iostream> #include&

CodeForces 589B Layer Cake (暴力)

题意:给定 n 个矩形是a*b的,问你把每一块都分成一样的,然后全放一块,高度都是1,体积最大是多少. 析:这个题,当时并没有完全读懂题意,而且也不怎么会做,没想到就是一个暴力,先排序,先从大的开始选,如果大,那么数量少,如果小,数量就多, 用一个multiset来排序,这样时间复杂度会低一点,每一个都算一下比它的大矩阵的数量,然后算体积,不断更新,最大值. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #i

acdream 1705(暴力)

题意:有一块n*m大的草坪,'.'表示空地,'x'表示种了棵树,现在要给这块草坪建一个矩形栅栏,栅栏必须建在空地上,问栅栏建好的最大周长是多少,也就是最多占用了多少个空地. 题解:暴力,需要预处理出每个空地右边空地的数量存到r[i][j]和下方空地的数量d[i][j],然后枚举每个空地把它当做栅栏的左上角顶点,根据r和d两个数组得到上和左两条边可能的长度,然后枚举上和左的长度如果下和右也都满足条件(即不出现'x'),更新最大值. #include <stdio.h> #include <