跳转至

单调栈

相比于数据结构,单调栈只是栈结构的一种特殊应用。

描述

一般而言单调栈用于记录一个序列从一端开始的单调子序列(不要求连续)。

单调栈的成员可以是原序列成员,也可以是原序列成员的下标。

举例

Codeforces-1313-C2

对于原始序列 a[i] ,维护一个单调栈用于在 O(n) 时间内一趟生成辅助序列 l[i] ,其中 l[i] 为从 a[i] 向左看第一个值小于 a[i] 的成员下标; r[i]l[i] 右侧的对等。