對於維護資訊具有單調性的性質或者問題可以轉化為具有單調性質的模型的題,我們可以考慮用單調棧或單調佇列。
技巧很多,只要能將問題轉化為單調性問題,就好解決了。
當維護固定長度的單調區間,我們考慮用單調佇列,如
【bzoj】3314: [usaco2013 nov]crowded cows(單調佇列)
【bzoj】1047: [haoi2007]理想的正方形(單調佇列/~二維rmq+樹狀陣列套樹狀陣列)(一維連續的變成二維連續區間)
單調棧維護長度時要進行及時更新,例如:
【bzoj】3039: 玉蟾宮(dp/單調棧)
【bzoj】1057: [zjoi2007]棋盤製作(單調棧)
假設完美狀態後再進行減法原理,例如:
【bzoj】1628 && 1683: [usaco2007 demo]city skyline 城市地平線(單調棧)
然後是在維護資訊的一些技巧
【bzoj】1657: [usaco2006 mar]mooo 奶牛的歌聲(單調棧)
單調棧,單調佇列
大多數借鑑了 單調佇列是什麼呢?可以直接從問題開始來展開。poj 2823 給定乙個數列,從左至右輸出每個長度為m的數列段內的最小數和最大數。數列長度 n 106,m n 我們知道,解法 在暴力列舉的過程中,有乙個地方是重複比較了,就是在找當前的f i 的時候,i的前面其它m 1個數在算f i 1 ...
單調棧 單調佇列
單調棧 單調佇列是在棧和佇列的基礎上加上單調結構的資料結構。如果乙個元素入棧或入隊,他會檢查之前的元素,如果之前的元素不可能是答案的解,那麼就彈出元素,使得當前元素入棧或入隊。leetcode 239 滑動視窗最大值 此題是單調佇列,每次遇到乙個元素,一直從隊尾彈出,直到隊尾元素大於該元素為止。還需...
單調棧 單調佇列
啊學完了來寫個總結吧 顧名思義,單調,就是指色彩單一某乙個容器裡面的元素都是遞增或遞減的,而單調棧和單調佇列就是這個容器。單調棧 單調棧模板 其他的我就不說了,講下為什麼單調棧是從後往前掃瞄 當我們在判斷乙個數後面第乙個比它大的數時,前提是後面的數已經被處理了,所以我們要從後往前掃瞄。我做了兩種做法...