单调队列 单调队列(Monotonic Queue)是一种队列内元素单调递增或单调递减的队列结构。主要用于解决滑动窗口最值问题,以及优化某些 DP 转移(如斜率优化中可转化为单调队列的形式)。 核心思想 单调队列的核心是使用 双端队列(deque)维护一个单调的候选值序列。当窗口滑动时: 淘汰过期元
单调栈 单调栈(Monotonic Stack)是一种栈内元素单调递增或单调递减的栈结构。用于解决寻找下一个更大(或更小)元素的一类问题,典型应用包括:柱状图中最大矩形、接雨水、每日温度等。 核心思想 单调栈的核心是维护栈内元素的单调性。当新元素入栈时,不断弹出破坏单调性的栈顶元素,从而在弹出过程中
矩阵 用于快速进行递推,常与快速幂结合使用。 矩阵作为一种存储向量的方式,是一种必须的数据结构。 Code 注意(重载输入输出流时): 要记得返回 istream 或 ostream,并且仔细思考,哪些需要引用传参,哪些不能使用引用传参。 struct