1102 面積最大的矩形
基準時間限制:1 秒 空間限制:131072 kb 分值: 20
難度:3級演算法題
有乙個正整數的陣列,化為直方圖,求此直方圖包含的最大矩形面積。例如 2,1,5,6,2,3,對應的直方圖如下:
面積最大的矩形為5,6組成的寬度為2的矩形,面積為10。
input
第1行:1個數n,表示陣列的長度(0 <= n <= 50000)output第2 - n + 1行:陣列元素a[i]。(1 <= a[i] <= 10^9)
輸出最大的矩形面積input示例
621output示例5623
10對於每個小的矩形來說,它所能參與拼接的大矩形的面積可視為向左找高度不比它低的和向右找高度不比它低的矩形拼成的大矩形的面積。
#include #define maxn 50005
using namespace std;
long long a[maxn],left[maxn],right[maxn];
// left[i]表示第i個矩形左右最大可以延伸到矩形的位置
int main()
left[0]=left[n+1]=-1;
for(i=2; i<=n; ++i) //找到每個矩形的最大左延伸 }
right[0]=right[n+1]=-1;
for(i=1; i<=n-1; ++i) //找到每個矩形的最大右延伸 }
long long sum=0;
for(i=1; i<=n; ++i)
cout<
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個...
51nod 1102 面積最大的矩形
1102 面積最大的矩形 基準時間限制 1 秒 空間限制 131072 kb 分值 20 難度 3級演算法題 有乙個正整數的陣列,化為直方圖,求此直方圖包含的最大矩形面積。例如 2,1,5,6,2,3,對應的直方圖如下 面積最大的矩形為5,6組成的寬度為2的矩形,面積為10。input 第1行 1個...