1102 面積最大的矩形

2021-09-11 02:09:15 字數 823 閱讀 9405

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

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

收起

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

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

輸出最大的矩形面積
621

5623

10
相當於一次遍歷,形成單調遞增的棧,相當於改變了內部結構,比較輸入的值和棧內的值,如果輸入的值小於棧內值,那麼計算當時面積,然後儲存起來,至於要是大於的話,那麼就讓這個輸入值入棧。

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using namespace std;

long long a[101010];

int main()

else if (a[i]ans)

l=b.top();

b.pop();

}b.push(l);

a[l]=a[i];}}

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

return 0;

}

1102 面積最大的矩形

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

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個...