poj1506 棧優化技巧

2021-08-04 03:22:19 字數 730 閱讀 6496

題意:給出一些柱狀圖,要求求出柱狀圖中長方形的最大面積。

思路:以每個點為起點,左右延伸,要保持a[j] >= a[i] ,a[j]為a[i]兩邊的數,得到以a[i]為高形成的長方形,底為滿足a[j] >= a[i],經過i並且連續的區間。然後列舉以h[i]為高形成的長方形的面積的大小,得出答案。

這裡得到以a[i] 為高的長方形的底的方法為:因為數有10^6個,所以不能暴力。

當算這個區間的最左端l[i]的時候,用乙個棧維護每一段連續遞減區間的最小值,也就是每一段連續遞減區間的最右端的值。因為如果這個遞減區間的最小值大於a[i]的話,那麼這個遞減區間都大於a[i]了。

同理,可以算出最右端r[i]。

#includeusing namespace std;

const int maxn = 100000 + 10;

typedef long long ll;

int n;

int a[maxn];

int l[maxn],r[maxn];

int st[maxn];

int main()

top = 0;

for(int i = n; i >= 1; i --)

ll ans = 0;

for(int i = 1; i <= n; i ++)

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

}return 0;

}

TCP IP 棧的效能調優

給出了幾個可調節的引數,它們可以幫助您提高 linux tcp ip 棧的效能。表 1.tcp ip 棧效能使用的可調節核心引數 可調節的引數 預設值選項說明 proc sys net core rmem default 110592 定義預設的接收視窗大小 對於更大的 bdp 來說,這個大小也應該...

POJ2559 單調遞增棧

題意大概講述的是有許多寬度為1的矩形,問你最大面積的矩形是多少。更具模型可以得知,要是有乙個高度較小塊進入後,無法給前面高度較高的塊增加同一高度的面積。這時候就可以處理前面的高塊,因為現在的塊是較低的,已經沒辦法可以接到後面較高的。所以刪去前面所有比當前塊高的塊,並且處理這些塊可以得到的面積。最後一...

POJ 3250 單調棧模板

題意 從左右給你n頭都面向右牛的高度,每頭牛能被左邊的牛看到當且僅當自己的身高比他低且中間沒有障礙物 求每頭牛能看到的牛數量之和 include include include include include include include include include include inclu...