单调队列 单调栈 2026/9/11 6:51:51 拓冰建站 浏览量 单调队列 一种下标单调,值也单调的队列。 以长度为 k k k 的区间内最大值为例,在一个数进队时,可以知道在他之前的肯定下标比他小,所以如果前面的数比他小,那么前面的数肯定不能成为最大值,直接出队,如果前面的数比他大,因为前面的数下标靠前,所以这个数有可能在以后成为最大值,将其加入队列,对于不合法的位置,直接出队。 for(int i = 1; i <= n; i ++){while(head <= tail && a[i] >= a<
单调队列 一种下标单调,值也单调的队列。 以长度为 k k k 的区间内最大值为例,在一个数进队时,可以知道在他之前的肯定下标比他小,所以如果前面的数比他小,那么前面的数肯定不能成为最大值,直接出队,如果前面的数比他大,因为前面的数下标靠前,所以这个数有可能在以后成为最大值,将其加入队列,对于不合法的位置,直接出队。 for(int i = 1; i <= n; i ++){while(head <= tail && a[i] >= a<