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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

POJ - 2559 Largest Rectangle in a Histogram(笛卡尔树,单调栈实现)

發(fā)布時間:2024/4/11 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 POJ - 2559 Largest Rectangle in a Histogram(笛卡尔树,单调栈实现) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目鏈接:點擊查看

題目大意:給出一排高度不同,寬度都為 1 的矩形,問拼起來后最大的矩形面積是多少

題目分析:普通做法是用單調(diào)棧直接維護,我一直覺得單調(diào)棧處理這種矩形問題都比較抽象,也可能是我太菜了,這個題目恰好發(fā)現(xiàn)可以用笛卡爾樹實現(xiàn),拿來練練手,根據(jù)笛卡爾樹的性質(zhì),對于每個矩形,以出現(xiàn)的下標為 key ,高度為 val ,維護一個小頂堆的笛卡爾樹,那么對于樹上每個節(jié)點的 val 乘以子樹的大小就是當(dāng)前節(jié)點可以做出的貢獻,維護一下最大值就是答案了

為了防止特殊情況的出現(xiàn),可以預(yù)處理在單調(diào)棧中加入一個負無窮的哨兵節(jié)點

代碼:
?

#include<iostream> #include<cstdio> #include<string> #include<ctime> #include<cmath> #include<cstring> #include<algorithm> #include<stack> #include<climits> #include<queue> #include<map> #include<set> #include<sstream> #include<cassert> #include<bitset> using namespace std;typedef long long LL;typedef unsigned long long ull;const int inf=0x3f3f3f3f;const int N=1e5+100;struct Node {int l,r,val; }tree[N];stack<int>s;LL ans;void insert(int x) {while(s.size()&&tree[s.top()].val>tree[x].val)s.pop();tree[x].l=tree[s.top()].r;//x->lsontree[s.top()].r=x;//fa->x(rson)s.push(x); }void dfs(int k,int l,int r) {ans=max(ans,1LL*tree[k].val*(r-l+1));if(tree[k].l)dfs(tree[k].l,l,k-1);if(tree[k].r)dfs(tree[k].r,k+1,r); }void init(int n) {for(int i=1;i<=n;i++)tree[i].l=tree[i].r=0;while(s.size())s.pop();tree[0].val=-inf;tree[0].l=tree[0].r=0;s.push(0); }int main() { #ifndef ONLINE_JUDGE // freopen("data.in.txt","r",stdin); // freopen("data.out.txt","w",stdout); #endif // ios::sync_with_stdio(false);int n;while(scanf("%d",&n)!=EOF&&n){init(n);for(int i=1;i<=n;i++){scanf("%d",&tree[i].val);insert(i);}ans=0;dfs(0,1,n);printf("%lld\n",ans);}return 0; }

?

總結(jié)

以上是生活随笔為你收集整理的POJ - 2559 Largest Rectangle in a Histogram(笛卡尔树,单调栈实现)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日本一区二区视频在线观看 | 综合热久久 | 亚洲欧美在线视频观看 | 日日操夜夜爽 | 国产精品美女久久久久久久 | 日本在线国产 | a级片日本| 在线视频网站 | 欧美va视频 | 久久6 | 二男一女一级一片 | 亚洲黄色一级 | 国产精品一区二区三区在线看 | 男女日批在线观看 | 日本一二三区不卡 | 免费美女视频网站 | 狼人综合网 | 国产成人无码AA精品区 | 国产精品美女久久久久av超清 | 一本加勒比北条麻妃 | av导航在线| 亚洲天堂网在线观看视频 | 性欧美videos另类hd | 蝌蚪久久 | 亚洲国产视频在线 | 色乱码一区二区三区在线男奴 | 波波野结衣 | 一区二区三区在线免费视频 | 伊人久久综合影院 | 国产午夜性春猛交ⅹxxx | 亚洲黄色三级 | 欧美在线va | 国产又粗又硬 | 日本亚洲欧美 | 黄色av电影网址 | 桃色视屏 | 亚洲欧洲精品一区二区三区 | 亚洲高清色图 | 91麻豆精品国产91久久久无需广告 | 国产精品国产三级国产专区53 | 在线播放亚洲 | 色七七网站 | 久久久久久久影院 | 亚洲欧美999 | 九九资源网| 一级黄色免费片 | 男女免费视频网站 | 女人被狂躁c到高潮 | 制服丝袜在线看 | 韩国av一区二区三区 | 99热亚洲 | 国产精品人人爽 | 操女人免费视频 | 四虎成人永久免费视频 | 日韩午夜毛片 | 日韩一区二区在线看 | 欧洲色视频 | 99久久99久久免费精品蜜臀 | 青草视频免费在线观看 | 精品在线免费观看视频 | 欧美永久免费 | 国产欧美日韩精品在线观看 | 亚洲视频123 | 亲子乱aⅴ一区二区三区 | 国产97在线观看 | 色四虎 | av大片网站| 人人爽人人爽人人 | 丰满熟妇人妻中文字幕 | 91精品国产麻豆国产自产在线 | 好看的中文字幕电影 | 四虎影裤 | 中国黄色在线视频 | 尤物精品 | 国产黑丝在线播放 | 久久a久久| 一级黄色电影片 | 亚洲精品一区二 | 国产免费av一区二区三区 | 精品影视| 90岁肥老奶奶毛毛外套 | 欧美99久久精品乱码影视 | 欧美人xxxx | 一个色综合网 | 亚洲一区二区色图 | 日韩av影片在线观看 | 男人的天堂一区二区 | 亚洲女优在线 | 日本免费一区视频 | 国产玖玖 | 亚洲日本va中文字幕 | 午夜天堂精品 | 黄色在线观看免费 | 国产第一草草影院 | 91搞| 亚洲一区二区三区欧美 | 人妻饥渴偷公乱中文字幕 | 蜜桃视频一区 | 午夜羞羞羞 |