考前必备
邪修
| 求 | 技术 | 衍生 |
|---|---|---|
| 字符串查重 | 字符串哈希 + 区间字符串哈希 | |
| 区间染色/集合合并 | 并查集 | |
| 单向最值 | 单调栈 | 每个子区间… 左边第一个比它… 雨水槽 |
| 区间最值 | 单调队列 std::deque |
滑动窗口 |
| 区间修改 | 差分 (+离散化) / 分块 | |
| 复杂 dp | 记忆化搜索! | |
| 离散最优解 | 二分!! | 求解难+验证简单(NP) |
AI 版:
| 核心需求 | 推荐技术 | 关键点 / 场景暗示 |
|---|---|---|
| 单向邻居最值 | 单调栈 | 找左右第一个比我大/小的元素;计算贡献范围(如:最大矩形)。 |
| 固定窗口最值 | 单调队列 | 滑动窗口最大/小值;优化 DP 转移($O(nk) \to O(n)$)。 |
| 区间静态查询 | 前缀和 | $O(1)$ 查询任意子区间和(差分的逆运算)。 |
| 区间修改 + 单点查询 | 差分 | 配合离散化处理 $10^9$ 坐标下的区间覆盖(扫描线基础)。 |
| 动态修改 + 区间求和 | 树状数组 (BIT) | 代码极短!$O(\log n)$ 修改与查询;求逆序对。 |
| 复杂/不规则区间 | 分块 | “大块维护标记,小块暴力”;解决众数、区间不相同数等非线性问题。 |