麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

廣告印刷

2019-11-11 06:55:07
字體:
供稿:網(wǎng)友

【題目描述】 最近,afy決定給TOJ印刷廣告,廣告牌是刷在城市的建筑物上的,城市里有緊靠著的N個(gè)建筑。afy決定在上面找一塊盡可能大的矩形放置廣告牌。我們假設(shè)每個(gè)建筑物都有一個(gè)高度,從左到右給出每個(gè)建筑物的高度H1,H2…HN,且1<=Hi<=1,000,000,000,并且我們假設(shè)每個(gè)建筑物的寬度均為1。要求輸出廣告牌的最大面積。 【輸入格式】 第一行是一個(gè)數(shù)n (n<= 400,000 ) 第二行是n個(gè)數(shù),分別表示每個(gè)建筑物高度H1,H2…HN,且1<=Hi<=1,000,000,000。 【輸出格式】 輸出文件 ad.out 中一共有一行,表示廣告牌的最大面積。 【 樣例輸入】 6 5 8 4 4 8 4 【樣例輸出】 24 【分析】 首先可以想到,在廣告覆蓋的樓房中,最矮的樓房(并不是指所有樓房中最矮的那個(gè))一定被廣告完全覆蓋了。所以可以枚舉最矮的樓房,求出向左、向右分別可以延伸多遠(yuǎn)(即大于等于該樓房),然后打擂臺(tái)即可。 用單調(diào)隊(duì)列預(yù)處理向左、向右分別延伸的距離可以優(yōu)化程序。

#include<iostream>#include<cstdio>using namespace std;#define MAXN 400000#define LL long longint h[400010];int n;int Queue[400010];int L[400010],R[400010];int main(){ cin>>n; int i; for (i=1;i<=n;i++) cin>>h[i]; h[0]=h[n+1]=-1; Queue[0]=0; int Head=0,Tail=1; for (i=1;i<=n;i++) { while (Head<Tail && h[i]<=h[Queue[Tail-1]]) Tail--; L[i]=i-Queue[Tail-1]-1; Queue[Tail++]=i; } Queue[0]=n+1; Head=0,Tail=1; for (i=n;i>=1;i--) { while (Head<Tail && h[i]<=h[Queue[Tail-1]]) Tail--; R[i]=Queue[Tail-1]-i-1; Queue[Tail++]=i; } long long MaxArea=0; for (i=1;i<=n;i++) { long long Area=(L[i]+R[i]+1)*h[i]; if (Area>MaxArea) MaxArea=Area; } cout<<MaxArea;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产亚洲精品综合一区 | 狠狠操精品视频 | 国产精品一二区 | 国产一级免费av | 久久亚洲成人 | 成人一级免费视频 | 成年人福利视频 | 久久性生活免费视频 | 538任你躁在线精品视频网站 | 亚洲精品av在线 | 99麻豆久久久国产精品免费 | 香蕉在线看 | 精品一区二区久久久 | 成人毛片网站 | 91专区在线观看 | 久久精品中文字幕一区二区三区 | 欧美成人一区免费视频 | 国产成视频在线观看 | 性大片1000免费看 | 毛片在线免费观看完整版 | 国产亚洲精品久久久久婷婷瑜伽 | 日本欧美一区二区三区视频麻豆 | 欧日一级片 | 操你啦免费视频 | 精品国产乱码久久久久久久久 | 色视频在线 | 国产精品视频中文字幕 | 99亚洲伊人久久精品影院红桃 | 国产做爰全免费的视频黑人 | 日韩在线毛片 | 成人在线视频网 | 久久婷婷一区二区三区 | 亚洲3p激情在线观看 | av国产片 | 特级西西444www大精品视频免费看 | 欧美成人午夜一区二区三区 | 国产精品视频2021 | chinesexxx少妇露脸 | 日本在线播放一区二区三区 | 黄色av网站在线观看 | 福利免费在线 |