← 竞赛体系
COURSE · 课程路径

GESP 6级

CURRICULUM

课程大纲 · 能力地图

按「大类 → 难度 → 前后顺序」组织,共 209 个能力标签。 其中 56 个为相对「GESP 5级」新增,其余为前置级别已覆盖; 同一大类内循序渐进,绿色为已备教案、可直接进入学习;灰色为编写中。

新增 标记表示该知识点是「GESP 5级」基础上本级别新加入的,需重点学习。

仅展示相对「GESP 5级」新增的内容 (56)关闭可查看完整大纲(含前置级别已覆盖的知识点)

双指针与滑动窗口

3 个标签 · 3 已就绪
序号知识点能力目标操作
170左右指针新增07-A1-1掌握归并排序:用分治把数组分成两半分别排序,再合并两个有序序列,整体达到 O(n log n)。
171同向双指针新增07-A1-2理解归并过程可顺带统计逆序对数量,把“计数”问题转化为分治合并时的跨段计数。
172区间移动新增07-A1-3掌握非比较排序:计数排序用“值域桶”统计出现次数,桶排序把值域分桶后桶内再排,突破 O(n log n) 下界。

贪心

6 个标签 · 6 已就绪
序号知识点能力目标操作
209排序贪心新增09-A2-1理解贪心算法的两个支柱:贪心选择性质(局部最优能导向全局最优)与最优子结构;并掌握“交换论证”证明。
210区间贪心新增09-A2-2熟练区间调度:按结束时间升序,依次选取与已选不冲突的区间,得到最多互不重叠区间。
211交换贪心新增09-A2-3掌握两类区间贪心:用最少点“刺穿”所有区间(按结束时间,在交集末放点);用最少区间覆盖 [0,T](按开始时间,选能接上的结束最晚者)。
212优先队列贪心新增09-A2-4理解哈夫曼贪心:每次合并两个最小权值,使总代价最小;用于最优前缀码与合并果子等问题。
213活动选择新增09-A2-5掌握“先排序再贪心”的模式:按性价比、按比值、按字典序等排序后顺序选取,常见于任务安排与拼接问题。
214区间调度新增09-A2-6掌握两类调度贪心:任务有截止时间求最多完成数(按截止时间贪心+可反悔);负载均衡用“最长处理时间优先”近似。

搜索

9 个标签 · 9 已就绪
序号知识点能力目标操作
226DFS 基础新增10DFS-A1-1掌握深度优先搜索:用递归(或栈)沿着一条路走到底再回溯,遍历所有状态/节点。
227图 DFS新增10DFS-A1-2用 DFS 判断两点是否连通、统计连通块个数,理解“从一个点能到达的所有点”构成连通块。
228树 DFS新增10DFS-A1-3用 DFS 回溯系统地枚举所有方案(全排列、子集),并在递归返回前“恢复现场”以尝试其他分支。
229网格 DFS新增10DFS-A1-4用 DFS 的三色标记(白/灰/黑)检测有向图是否存在环:遇到“灰色”祖先说明有回边即环。
230Flood Fill新增10DFS-A1-5用 DFS(逆后序)求出有向无环图的拓扑排序:每次离开节点时把它加入答案头部。
248BFS新增10BFS-A1-1掌握广度优先搜索:用队列逐层扩展,先访问离起点近的节点,适合求最短路与层序遍历。
249网格 BFS新增10BFS-A1-2用 BFS 求无权图(边权均为 1)从起点到各点的最短距离,首次访问即定距,避免重复入队。
250最短步数新增10BFS-A1-3掌握多源 BFS:把所有起点同时入队(距离 0),一次 BFS 即求每个点到最近起点的距离。
251Flood Fill新增10BFS-A1-4在网格上用 BFS(Flood Fill)求连通块大小、数量与最远格,理解“四连通/八连通”的邻居扩展。

数据结构

5 个标签 · 5 已就绪
序号知识点能力目标操作
268priority_queue新增11线性结构-A2-1巩固栈的“后进先出”:用栈判断括号是否匹配,并理解中缀转后缀后用栈求值。
269set新增11线性结构-A2-2理解循环队列:用定长数组 + 头尾指针(取模)实现 O(1) 入队出队,区分“满”与“空”。
270map新增11线性结构-A2-3掌握双端队列:两端都可 O(1) 入队/出队,用于滑动窗口、单调队列等进阶场景。
271unordered_set新增11线性结构-A2-4掌握单调栈:维护栈内元素单调递增/减,在线性时间内求“左边/右边第一个更大(更小)元素”。
272unordered_map新增11线性结构-A2-5掌握单调队列:用 deque 维护窗口内元素的单调位置,O(n) 求滑动窗口最大值/最小值。

树

15 个标签 · 15 已就绪
序号知识点能力目标操作
311树的定义新增14基础树-A1-1理解树的定义与基本术语:根、父/子、叶子、度、深度、高度,以及二叉树与多叉树的区别。
312根新增14基础树-A1-2掌握二叉树的重要性质:第 i 层最多 2^(i-1) 个节点,深度为 h 的二叉树最多 2^h-1 个节点,叶子与度为 2 节点数关系。
313父节点新增14基础树-A1-3区分满二叉树(每层全满)与完全二叉树(层序填满、最后一层从左连续),并理解完全二叉树用数组存储的优势。
314子节点新增14基础树-A1-4掌握二叉树的顺序存储(数组按下标表示左右孩子),理解其适合完全二叉树、对一般树有空洞浪费。
315叶节点新增14基础树-A1-5掌握二叉树的链式存储:用节点结构(val, left, right)动态建树,理解它与顺序存储的取舍。
316深度新增14基础树-A1-6掌握三种深度遍历的递归写法:先序(根左右)、中序(左根右)、后序(左右根),理解访问根的顺序差异。
317高度新增14基础树-A1-7掌握用“先序定根 + 中序定左右”递归重建二叉树的方法,并理解其唯一性条件。
318二叉树新增14基础树-A2-1掌握二叉树的层序遍历:用队列按层扩展,输出逐层节点,可顺便记录每层或判断完全性。
319二叉树遍历新增14基础树-A2-2掌握用栈模拟递归实现先/中/后序遍历,理解递归隐式栈的显式化,避免深递归溢出。
320前序新增14基础树-A2-3理解二叉搜索树(BST):左子树均小于根、右子树均大于根;掌握递归/迭代查找,复杂度与树高相关。
321中序新增14基础树-A2-4掌握 BST 插入:沿查找路径下行,遇空位插入新节点,保持 BST 性质。
322后序新增14基础树-A2-5掌握 BST 删除的三种情况:删叶子直接去、删单孩子接上、删双孩子用“前驱/后继”替换后递归删除。
323层序新增14基础树-A2-6掌握哈夫曼树:每次合并权值最小的两节点构造带权路径长度最小的二叉树,并生成前缀编码。
324完全二叉树新增14基础树-A2-7理解表达式树:把算式建成二叉树(叶子为操作数、内部为运算符),通过后序/中序遍历求值与还原。
325二叉搜索树新增14基础树-A2-8综合运用遍历:求树高、节点数、直径,以及“由中序+后序重建”,巩固遍历在树问题中的核心地位。

堆与优先队列

4 个标签 · 4 已就绪
序号知识点能力目标操作
344堆概念新增15-A1-1理解堆:一种完全二叉树,且父节点“不小于/不大于”孩子(大根/小根),根即最值,支持 O(log n) 取最值。
345最大堆新增15-A1-2区分大根堆(取最大)与小根堆(取最小),并理解在 STL/Python 中如何用优先队列实现两者。
346最小堆新增15-A1-3掌握堆的核心操作:插入时“上浮”(与父比较交换),删除堆顶时“下沉”(与较小/较大孩子比较交换),均 O(log n)。
347priority_queue新增15-A1-4掌握堆排序(原地建堆后反复取堆顶放末尾,O(n log n))及优先队列在 TopK、中位数、Dijkstra 等场景的应用。

动态规划

10 个标签 · 10 已就绪
序号知识点能力目标操作
462DP思想新增22DP基础-A1-1理解 DP 三要素:状态定义、状态转移方程、边界/初始;用“大问题=小问题组合”避免重复计算。
463状态新增22DP基础-A1-2掌握自顶向下 DP:用递归 + 缓存(记忆化)避免重复子问题,与自底向上填表等价且更易写出。
464转移新增22DP基础-A1-3掌握 LIS:dp[i]=以 a[i] 结尾的最长上升子序列长度,O(n²);以及用“贪心+二分”的 O(n log n) 优化。
465初始状态新增22DP基础-A1-4掌握 LCS:二维 DP,dp[i][j] 为 a 前 i 与 b 前 j 的 LCS 长度,相等则 +1,否则取两侧最大。
466终止状态新增22DP基础-A1-5用数字三角形巩固线性 DP:自底向上,每个点取左下/右下较大者累加,得到从顶到的最大路径和。
467一维 DP新增22DP基础-A2-1掌握 0-1 背包:n 件物品每种至多选一次,dp[i][j] 为前 i 件在容量 j 下的最大价值,转移“选/不选”。
468二维 DP新增22DP基础-A2-2掌握完全背包:每种物品可无限选,转移时容量正序枚举(同一物品可被重复选多次)。
469网格 DP新增22DP基础-A2-3理解背包为何能滚动到一维:当前行只依赖上一行,故用一维数组并按特定顺序更新即可省去第一维。
470记忆化搜索新增22DP基础-A2-4掌握两类背包变体:多重背包(每种有数量上限,可二进制拆分转化为 0-1)与分组背包(每组至多选一件)。
471简单背包新增22DP基础-A2-5用两个经典模型巩固 DP:网格最小路径和(只能右/下)与编辑距离(增删改使两串相同),体会状态设计。

数学优化

4 个标签 · 4 已就绪
序号知识点能力目标操作
566前缀公式新增26-A2-1掌握快速幂:用二进制拆分指数,把 a^b 在 O(log b) 内算出,并支持模运算防止溢出。
567数学建模新增26-A2-2掌握 GCD(辗转相除)与扩展欧几里得(求 ax+by=gcd(a,b) 的一组整数解),用于同余与逆元。
568函数单调性新增26-A2-3掌握埃氏筛与欧拉筛(线性筛)求区间内素数,并用以做质因数分解,支持数论类题目。
569不等式新增26-A2-4理解乘法逆元:在模 p(素数)下,a 的逆元满足 a·a⁻¹≡1,可用费马小定理(a^(p-2))或 exgcd 求得,用于“除法取模”。