日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CCF 201312-3 最大的矩形[比较简单] 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問題描述

試題編號:201312-3
試題名稱:最大的矩形
時間限制:1.0s
內(nèi)存限制:256.0MB
問題描述: 問題描述 在橫軸上放了n個相鄰的矩形,每個矩形的寬度是1,而第i(1 ≤ i ≤ n)個矩形的高度是hi。這n個矩形構(gòu)成了一個直方圖。例如,下圖中六個矩形的高度就分別是3, 1, 6, 5, 2, 3。



  請找出能放在給定直方圖里面積最大的矩形,它的邊要與坐標軸平行。對于上面給出的例子,最大矩形如下圖所示的陰影部分,面積是10。
輸入格式 第一行包含一個整數(shù)n,即矩形的數(shù)量(1 ≤ n ≤ 1000)。
  第二行包含n 個整數(shù)h1, h2, … , hn,相鄰的數(shù)之間由空格分隔。(1 ≤ hi?≤ 10000)。hi是第i個矩形的高度。 輸出格式 輸出一行,包含一個整數(shù),即給定直方圖內(nèi)的最大矩形的面積。 樣例輸入 6
3 1 6 5 2 3 樣例輸出 10

題目大意:有n個矩形,寬為1,給出每個點的高度,需要求出最大的矩形的面積。

//猛一看覺得挺難,仔細看看覺得還可以,一次AC~

#include <iostream> #include <vector> #include <cstdio> using namespace std; int rec[1001][1001]; int main() {int n;cin>>n;int maxs=0;for(int i=0;i<n;i++){cin>>rec[i][i];if(rec[i][i]>maxs)maxs=rec[i][i];}for(int i=0;i<n;i++){int mins=rec[i][i];for(int j=i+1;j<n;j++){rec[i][j]=min(mins,rec[j][j]);mins=rec[i][j];}}int temp=0;for(int i=0;i<n;i++){for(int j=i+1;j<n;j++){//cout<<rec[i][j]<<" ";temp=(j-i+1)*rec[i][j];if(temp>maxs)maxs=temp;}//cout<<'\n'; }cout<<maxs;return 0; }

1.有一個rec矩陣,對角線上表示只有當前矩形自己時的面積

2.從第一個依次往后遍歷,看能達到的最大高度(是有最低高度限制的)

3.然后再雙層循環(huán),注意寬度是j-i+1,而不是j-i,這樣即可計算出寬*高=面積。

轉(zhuǎn)載于:https://www.cnblogs.com/BlueBlueSea/p/9612476.html

總結(jié)

以上是生活随笔為你收集整理的CCF 201312-3 最大的矩形[比较简单]的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。