題目是英文的…這裡簡單描述一下,就是給你n個寬度1的矩形,然後連在一排,求新組成的圖形中的最大矩形.
單調棧維護乙個高度單調遞增的棧,每個新數經來的時候要是比棧頂元素小的話就彈出棧頂元素直到不能再彈為止.過程中更新答案。最後清棧更新答案.
#include
#include
#define dnt long long
using
namespace
std;
const
int maxn=100005;
dnt ans,h[maxn],c[maxn],s[maxn],tmp;
int top,n;
inline
const dnt read()
while(ch>='0'&&ch<='9')
return f*x;
}int main()
++top;
s[top]=i;
c[i]=tmp+1;
}tmp=0;
while(top)
printf("%lld\n",ans);
}}
poj 2559 最大矩形面積(單調棧)
題目 輸入乙個整數n,代表有n個 1 寬度 h i 高度 的矩形。接下來n個數依次給定乙個矩形高度的高度h i i n 求 在給定的依次排列的這堆矩形構成的圖形裡用乙個矩形圈出最大的乙個矩形,求該最大矩形面積。include include include using namespace std t...
POJ 2559 題解 最大矩形面積 單調棧
地面上從左到右併排緊挨著擺放多個矩形,已知這此矩形的底邊寬度都為1,高度不完全相等。求在這些矩形包括的範圍內能得到的面積最大的矩形,列印出該面積。所求矩形可以橫跨多個矩形,但不能超出原有矩形所確定的範圍。如 n 7,序列為2 1 4 5 1 3 3 口 口 口口 回回 口口 口口 回回 口口 口 口...
劃分樹學習 poj 2104
開始學習劃分樹 按照網上的題目大概敲了下 還有些不懂的地方 尤其是查詢 還不是很懂 下次在看懂 下面是這題的 include include includeusing namespace std int const tcnt 100100 struct node tree tcnt 4 int a ...