POJ 3250 解題報告 (單調棧)

2021-08-21 13:13:10 字數 428 閱讀 2242

看題傳送門:

這題單調棧裸題,模擬棧就行。有個little trick就是可以在輸入末尾多加乙個inf,這樣可以保證棧中所有的有效元素全部被彈出。(poj不支援萬能頭好煩……)

#include #include using namespace std;

const int maxn = 80010;

const int inf = 0x3f3f3f3f;

int sta[maxn], input[maxn];

int main()

input[n] = inf;

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

sta[++top] = i;

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

return 0;

}

POJ 3250 單調棧模板

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

單調棧應用POJ3250 單調序列

參考 單調棧,顧名思義,是棧內元素保持一定單調性 單調遞增或單調遞減或是其他性質 的棧。我們假如有這樣乙個問題 poj3250 給定一組數,針對每個數,尋找它和它右邊第乙個比它大的數之間有多少個數。如果用樸素的解法就會是雙層for迴圈遍歷,時間複雜度達到o n 2 利用單調棧思想的解法則會降至限行時...

poj3250(單調棧模板題)

題意 求序列中每個點右邊第乙個 自身的點的下標。思路 簡單介紹單調棧,主要用來求向左 右第乙個小於 大於自身的下標,直接求的話複雜度為o n2 而單調棧只有o n 利用好單調棧十分有用。乙個元素向左遍歷的第乙個比它小的數的位置就是將它插入單調棧時棧頂元素的值,若棧為空,則說明不存在這麼乙個數。然後將...