单调栈这个东西和单调队列差不多,只是维护一个栈的单调性,所以,这类提的解法可以参考单调队列。
只是普通的单调栈!——真的!以前只是总结——by rebirth_death
单调栈
定义
单调递增或单调减的栈 ,和比如在OI比赛中的那些比较大或比较小的输的参考
如图,图中写的是我们栈中的元素,假设上图是一个单调栈。
于是,此时的情况就有两种:
- 栈顶元素小鱼即将插入的元素
此时,设这个值为10,因为4<10,把10放在栈顶
如下图,这个图生动形象的表明了…
- 元素小于栈顶元素
设这个值为5,因为5小于6,7。6,7弹出,栈只剩下1,2,5此时为单调栈
总结效果
单调栈可以找出从左到右所遍历的值
单调栈的思路和单调队列的思路真的差不多。
至于如何去求值,可以上网参考(百度有时真的挺好用 )