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