51nod 1102 面積最大的矩形

2021-07-24 23:44:10 字數 1013 閱讀 9879

1102 面積最大的矩形

基準時間限制:1 秒 空間限制:131072 kb 分值: 20 

難度:3級演算法題

有乙個正整數的陣列,化為直方圖,求此直方圖包含的最大矩形面積。例如 2,1,5,6,2,3,對應的直方圖如下:

面積最大的矩形為5,6組成的寬度為2的矩形,面積為10。

input

第1行:1個數n,表示陣列的長度(0 <= n <= 50000)

第2 - n + 1行:陣列元素a[i]。(1 <= a[i] <= 10^9)

output

輸出最大的矩形面積
input示例

621

5623

output示例

10和poj的2082是一類題目,其實我們對於每乙個小的矩形,

它的最大面積就是這個小矩形能向左右延伸的最大長度,

那肯定是左邊第乙個小於它的和右邊第乙個小於它的

我們用到乙個棧,(棧按照高度從小到大順序,假設每乙個小矩形的

寬度為1);對於當先小矩形的高度小於棧頂小矩形的高度,那麼我們

就可以計算出在這其中的小矩形的面積的最大值,一直出棧,直到

棧頂小矩形的高度小於當前小矩形的高度為止 

#include#includeusing namespace std;

typedef long long ll;

struct rec

a; int main()

a.w+=tempw;

sta.push(a);

} toph=a.h;

} ll total=0,temps=0;

while(!sta.empty())

printf("%lld\n",ans);

return 0;

}

51NOD 1102 面積最大的矩形

有乙個正整數的陣列,化為直方圖,求此直方圖包含的最大矩形面積。例如 2,1,5,6,2,3,對應的直方圖如下 面積最大的矩形為5,6組成的寬度為2的矩形,面積為10。input 第1行 1個數n,表示陣列的長度 0 n 50000 第2 n 1行 陣列元素a i 1 a i 10 9 output ...

51nod 1102 面積最大的矩形

1102 面積最大的矩形 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有乙個正整數的陣列,化為直方圖,求此直方圖包含的最大矩形面積。例如 2,1,5,6,2,3,對應的直方圖如下 面積最大的矩形為5,6組成的寬度為2的矩形,面積為10。input 第1行 1個...

51 nod 1102 面積最大的矩形

1102 面積最大的矩形 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有乙個正整數的陣列,化為直方圖,求此直方圖包含的最大矩形面積。例如 2,1,5,6,2,3,對應的直方圖如下 面積最大的矩形為5,6組成的寬度為2的矩形,面積為10。input 第1行 1個...