<html>

來源:互聯網
上載者:User

標籤:int()   iostream   bootstrap   update   addclass   tns   .net   stat   queue   

【問題描寫敘述】
近期,afy決定給TOJ印刷廣告,廣告牌是刷在城市的建築物上的。城市裡有緊靠著的N個建築。
afy決定在上面找一塊儘可能大的矩形放置廣告牌。我們如果每一個建築物都有一個高度。
從左至右給出每一個建築物的高度H1,H2…HN,且0<Hi<=1,000,000,000,而且我們如果每一個建築物的寬度均為1。


要求輸出廣告牌的最大面積。


【輸入檔案】
輸入檔案 ad.in 中的第一行是一個數n (n<= 400,000)
第二行是n個數,分別表示每一個建築物高度H1,H2…HN,且0<Hi<=1,000,000,000。
【輸出檔案】
輸出檔案 ad.out 中一共同擁有一行,表示廣告牌的最大面積。


【輸入例子】
6
5 8 4 4 8 4
【輸出例子】

24


#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;#define maxn 400000 + 10int L[maxn], R[maxn];int pos[maxn];int a[maxn];int n;void get_left(){    int head = 1, tail = 0;    for(int i = 1; i <= n; i++)    {        while(head <= tail && a[pos[tail]] >= a[i])        tail--;        L[i] = i - pos[tail] - 1;        pos[++tail] = i;    }}void get_right(){    int head = 1, tail = 0;    pos[tail] = n + 1;    for(int i = n; i >= 1; i--)    {        while(head <= tail && a[pos[tail]] >= a[i])        tail--;        R[i] = pos[tail] - i - 1;        pos[++tail] = i;    }}int main(){    while(~scanf("%d", &n))    {        memset(L, 0, sizeof L);        memset(R, 0, sizeof R);        for(int i = 1; i <= n; i++)        scanf("%d", a + i);        get_left();        get_right();        long long  ans = -1;        for(int i = 1; i <= n; i++)        ans = max(ans, ((long long)L[i] + R[i] + 1) * a[i]);        printf("%I64d\n", ans);    }    return 0;}/*65 8 4 4 8 4*/


閱讀全文 著作權聲明:本文為博主原創文章,未經博主同意不得轉載。 舉報
  • 標籤:
  • q=ACM&t=blog" target="_blank">ACM /

  • 本文已收錄於下面專欄:
0條評論
相關文章推薦
NKOJ 2150 【單調隊列】廣告印刷 輸出用cout,不然用lld和I64d都會wa。

對於每個建築物,要知道往左到哪一個建築第一個高度比它低,知道往右走哪一個建築物第一個高度比它低。能夠用dp,也能夠用單調隊列。

首先從左往右...

  • yskyskyer123
  • 2016-04-12 11:28
  • 460
單調隊列 原文地址:單調隊列良弓藏keyword隊列,合并果子,窗戶,廣告印刷。最長XX子序列,志願者選拔,動態規劃,烽火傳遞本文單調隊列,望文生義,就是指隊列中的元素是單調的。如:{a1,a2,a...
  • jiqiujia
  • 2014-01-06 16:30
  • 363
廣告印刷 【題目描寫敘述】 近期。afy決定給TOJ印刷廣告。廣告牌是刷在城市的建築物上的,城市裡有緊靠著的N個建築。afy決定在上面找一塊儘可能大的矩形放置廣告牌。我們如果每一個建築物都有一個高度。從左至右給出每...
  • qq_31640513
  • 2017-02-05 18:43
  • 184
hdu 3530 單調隊列水題 單調隊列水題
  • zxf654073270
  • 2015-01-14 18:24
  • 304
uva 1169 - Robotruck(dp+單調隊列) 題目連結:uva 1169 - Robotruck題目大意:給出W和n。W表示機器人的限載重量,
  • 阿爾薩斯
  • 2014-02-19 15:49
  • 73
NKOJ 2150 廣告印刷 單調隊列 【單調隊列】廣告印刷Time Limit:10000MS? Memory Limit:65536KTotal Submit:296 Accepted:108?Case Time Limit:10...
  • zp___waj
  • 2016-06-15 06:56
  • 458
Uva 10305 - Ordering Tasks 拓撲排序基礎水題 隊列和dfs實現 今天剛學的拓撲排序。大概搞懂後發現這題是赤裸裸的水題。於是按自己想法敲了一遍,用queue做的,也就是Kahn演算法,複雜度o(V+E),調完交上去,WA了。

。。於是

  • runfeel
  • 2013-07-12 00:35
  • 417
Light OJ 1084 線段樹+dp or(單調隊列+dp) 水題 2B錯誤,線段樹開了2倍空間。 檢查到死。改成4倍空間直接AC。太傷了。線段樹太弱了。

線段樹:#include #include #include using namespace std...

  • c3568
  • 2013-06-12 18:03
  • 1072
uva 1427 - Parade(dp+單調隊列) 題目連結:uva 1427 - Parade<span st
  • 阿爾薩斯
  • 2014-02-26 13:15
  • 84
單調隊列之廣告印刷問題 問題:有n幢建築,其高度分別為H1,...,Hn,其寬度為1。且這些建築緊靠在一起,當前須要在這些建築上刷一個很大的矩形廣告,求矩形廣告的最大值。?先翻譯成數學題,給定n個正數的序列。定義區...
  • wdq347
  • 2013-06-29 17:04
  • 1289
Dikea‘s Blog +關注
原創
270
粉絲
12
喜歡
0
  • MYSQL索引入門
  • Python處理excel資料
  • 圖論總結模板
  • 線段樹模板
很多其它文章 線上課程

utm_source=blog7" target="_blank">

【直播】機器學習&資料採礦7周實訓--韋瑋

utm_source=blog7" target="_blank">

【套餐】系統整合專案管理project師順利通關--徐朋
  • 檔案夾
  • 喜歡 取消愛好
  • 收藏
  • 分享 微博 QQ
收藏助手 不良資訊舉報

<html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.