单调队列小结:
1、形如求每个数左右两边第一个比他大、小的数的位置、任意区间最大值与最小值的最大差(可二维)、最大全一子矩阵等等一系列与单调性有关的题目都可以考虑单调队列。
2、单调队列常常作为初始化、优化来辅助其他算法解决问题。
3、注意内存的使用,一直用数组模拟栈可能会爆内存,vector可以解决这一问题。(打死都不用stack)
4、想清楚是维护单增还是单减的队列,从前往后还是从后往前,求最大值最小值是使用两个不同的单调队列。
5、想好队列中元素满足的性质,队列中元素个数表示什么。想清楚队列中存的是值还是下标,写的时候更需要注意。