| 内容 | 在哪 | 本线怎么处理 |
|---|---|---|
| 字符串算法(哈希/KMP/Trie/Manacher/Z) | ds-series/ds-strings.md |
第 07 讲双指针会用到”二分 + 哈希求 LCP”,只指路 |
| 高精度 | math-series/05-high-precision.md |
只指路(2026-09-04 已从顶层迁入数学线) |
| 单调栈与单调队列 | ds-series/02 |
第 07 讲双指针的近邻,两讲要写清分界(见 2.4) |
STL、离散化、bitset、pb_ds |
ds-series/01 |
第 03 讲讲比较器时只指路 |
| 二叉堆、优先队列 | ds-series/03 |
第 03 讲贪心用到堆时只指路 |
| 逆序对(归并 vs 树状数组,含实测) | ds-series/08 §6.1 |
第 08 讲分治不重做这个实测,直接引用它的结论 |
| 图上的 DFS / BFS(含爆栈阈值、01-BFS、状态图搜索) | graph-series/02、03 |
第 04、05 讲只讲”非图搜索”(见 2.3) |
| 记忆化搜索 | dp-series/01 |
第 05 讲区分”搜索 + 记忆化”与”DP”时只指路 |
| 状压 DP、数位 DP | dp-series/06、07 |
第 04 讲讲状态编码时只指路 |
| 排序算法的内部机制与稳定性 | cspj-series/08(初赛视角)、gesp4-05 |
第 03 讲不重讲实现,只讲”考场上怎么用” |
| 复杂度速记表、结构选型判定表 | ds-series/13 |
本线第 00 讲的复杂度一节直接指过去 |
graph-series/02、03 已经把”图上的搜索”讲透了。本线第 04、05 讲讲的是另一半:
graph-series/02、03 |
本线 04、05 讲 | |
|---|---|---|
| 搜索空间 | 图/网格是给定的,点和边是输入 | 解空间是自己生成的(排列、子集、划分、放置方案) |
| 核心动作 | vis 标记 + 遍历 |
选择 → 递归 → 撤销选择(回溯) |
| 优化手段 | 双端队列、状态编码、启发式 | 剪枝(可行性 / 最优性 / 对称性)、搜索顺序 |
| 典型题 | 迷宫、八数码、连通块 | 八皇后、数独、全排列、组合、划分 |
一句话分界:graph 那两讲问”这张图怎么走”,本线这两讲问”这些方案怎么枚举、怎么剪”。 两边都要在开头写死这句话。
难度层:J = CSP-J 复赛够用;J⭐ = J 组进阶;S = CSP-S 复赛必备;S⭐ = S 组进阶。
| # | 标题 | 一句话 | 大纲 | 层 | 主要例题 | 状态 |
|---|---|---|---|---|---|---|
| 00 | 总纲(本文) | 边界、大纲对应、写作约定 | — | — | — | ✅ |
| 01 | 前缀和与差分 | 花 $O(n)$ 预处理,把每次操作压到 $O(1)$;两者互为逆运算 | 未单列(真题高频) | J | P8218、P2367、P3397、P2004、P1115、P4552 | ✅ 01-prefix-sum-difference.md(2026-09-04 从顶层迁入) |
| 02 | 二分查找与二分答案 | 不知道答案是多少,但给你一个答案你能验证 | 【4】二分法 | J⭐ | P2440、P2678、P3853、P1902、P4343、P1024、P3382 | ✅ 02-binary-search.md |
| 03 | 排序的应用与贪心 | 比较器、多关键字,以及”怎么证明这个贪心是对的” | 【3】贪心法、【3~6】排序 | J | P1223、P2240、P1803、P1094、P2949 | ✅ 03-sorting-and-greedy.md |
| 04 | 枚举、模拟与构造 | J 组 T1/T2 的全部;子集枚举与状态编码 | 【1】枚举法、【1】模拟法 | J | P7909、P11228、P5660、P1003、P2141、P2036、P9748、P14358 | ✅ 04-enumeration-simulation-construction.md |
| 05 | 搜索(一):回溯与剪枝 | 选择 → 递归 → 撤销;三类剪枝 + 搜索顺序也是剪枝 | 【6】搜索的剪枝优化 | J⭐ | P1219、P1706、P1036、P2404、P2392、P1088、P1731、P1092 | ✅ 05-backtracking-and-pruning.md |
| 06 | 搜索(二):迭代加深、双向、折半 | 指数级搜索的三种压缩手段 | 【7】迭代加深、【7】双向广搜、【7】启发式搜索 | S⭐ | P1763、P2324、P2534、P1032、P4799、P3067、P5691 | ✅ 06-iddfs-bidirectional-mitm.md |
| 07 | 双指针与滑动窗口 | 两个指针都只往一个方向走 | 大纲未单列 | J⭐(初赛为主) | P1147、P1638、P1381、P1102、P1886、P1440、P2564、⭐P7915 | ✅ 07-two-pointers.md |
| 08 | 分治 | 主定理,以及分治的建模视角 | 【6】分治算法、【5】归并/快排 | S | P1115、P1923、P1908、P1257、P1429、⭐⭐P11234 | ✅ 08-divide-and-conquer.md |
为什么没有”倍增”独立一讲:
ds-series/07(ST 表 = 序列上的倍增)与graph-series/12(LCA 倍增)已经从两个方向讲透了,math-series/01(快速幂)是第三个。三处已经互相印证,再单开一讲只会重复;本线第 00 讲的知识地图里点一句它们的同源关系即可。