单调队列
假设序列 {xi }n = x1 ,x2 ,...,xn 中定义有一序关系 < (这里,也可以是 <=, >, >= 等,具体的是哪一种序关系视应用决定)。 那么,{xi }n 的一个单调队列为 {xi }n 的一个子序列 xj1 ,xj2 ,...,xjk ,其中,j1 < j2 < ... < jk,对任意 jp < jq,xjp < xjq 。这个性质为单调队列的单调性:下标的单调和元素之间的单调。
和一般的队列类似,元素在队头出队,在队尾入队。所不同的时,在入队时,为了保证新元素入队后,该队列依然保持单调性,可能会使已经在队列内的某些甚至全部元素在队尾出队。例如,对于序列 {xi }n = { 1, 2, 6, 4, 0, 7 },当元素 4 入队前时,队列为 {1, 2, 6};元素 4 入列时,元素 6 将从队尾出队,从而得到新的单调队列 {1, 2, 4 }。而当元素 0 入队,队内原来的所有元素都出队,新的队列为 {0}。