学习可参考如下博客:
视频学习:【算法讲堂】【电子科技大学】【ACM】单调队列与单调栈
单调栈:顾名思义,单调递增或单调减的栈,跟单调队列差不多。
提到单调栈,有的人又和ST算法进行了对比,所以,我又查询了下ST表(链接),求法很像树状数组。
解决的问题:
- 最基础的应用就是给定一组数,针对每个数,寻找它和它右边第一个比它大的数之间有多少个数。
- 给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列的长度最大。
- 给定一序列,寻找某一子序列,使得子序列中的最小值乘以子序列所有元素和最大。