單調棧和單調佇列

2022-09-19 09:09:11 字數 404 閱讀 5430

其實我棧和佇列學的不太好

這有點傷......

單調棧及單調佇列是維護順序排列(公升序或降序)的一種資料結構

非常類似於dp中的最優狀態儲存和查詢

因此可用單調佇列維護dp

本蒟蒻不會dp

維護的手段就是如果滿足單調性加入,不滿足單調性退出

遍歷時間o(n),但是查最值的開銷就是o(1)

保證及時更新單調棧或單調佇列資料即可

有的可以用單調佇列優化成o(n)

求雙最值的多跑幾遍就行了

有二維的就巢狀就行了

有特殊性質的特判掉就行了

單調棧/佇列本身構造不難,難的是如何構造以及以後的維護過程

最後,無論是單調棧還是其他資料結構,設計的目的最好只維護它們本身的性質

棧和佇列 單調佇列 單調棧

講解部落格鏈結 一 單調棧 1 什麼是單調棧?單調棧是指乙個棧內部元素具有嚴格單調性 單調遞增,單調遞減 的一種資料結構。2 單調棧的兩個性質 滿足從棧頂到棧底具有嚴格的單調性 滿足後進先出的特徵,越靠近棧底的元素越早的進棧。3 元素進棧的過程 對於當前進棧元素x 如果x 棧頂元素,x 進棧。否則 ...

單調棧和單調佇列

最近又在重新刷題,又看到了單調棧和單調佇列的題目,發現當時也就是背一背就過了,沒有領會到精髓,這次看了幾位前輩寫的心得,感覺理解深了一些。傳送門 關鍵 用單調佇列來解決問題,一般都是需要得到當前的某個範圍內的最小值或最大值。就比如滑動視窗中的最大值問題 eg 1,1,2,3,4 5,6,7,7,9 ...

單調棧和單調佇列

本文摘自部落格,歡迎前往部落格以獲得更好的體驗。從名字上就聽的出來,單調棧中存放的資料應該是嚴格單調有序的,具有以下兩個性質。滿足從棧頂到棧底的元素具有嚴格的單調遞增或單調遞減性 滿足棧的後進先出特性,即越靠近棧底的元素越早進棧。單調棧也分為單調遞增棧和單調遞減棧。stackst for 遍歷這個陣...