Skip to content

附录 B · 高频考点 · 易错点 · 速查总表 ​

本附录把八级八章的「考点总结表」聚合为一张总表,并补充跨章易错点与考前速查卡。 星级说明:⭐⭐⭐⭐⭐ 必考压轴;⭐⭐⭐⭐ 高频;⭐⭐⭐ 中频;⭐⭐ 了解。


一、五星考点 TOP 榜(必看必背) ​

#考点出处一句话记忆
1加法原理 vs 乘法原理:分类相加,分步相乘第 2 章关键看"或"还是"然后"
2排列 A(n,m) 有序、组合 C(n,m) 无序第 3 章选出来还要不要排
3阶乘溢出:20! 是 long long 的极限第 3 章21! 就爆了,必须取模或高精度
4杨辉三角 = 组合数表,第 n 行第 m 个 = C(n,m)第 4 章编号从 0 起算
5快速幂复杂度 O(log b),不是 O(log a)第 5 章循环次数 = 指数的二进制位数
6快速幂 ans 初值 = 1(不是 0)第 5 章且写 1 % p 防 p=1
7循环条件 while (b > 0),不是 b > 1第 5 章否则漏最高位
8三角形面积别忘 ÷ 2第 6 章圆面积 πr²、周长 2πr
9Kruskal:边排序 + 并查集,O(m log m)第 7 章适合稀疏图
10Dijkstra 不能处理负权边第 7 章贪心定型的前提是权值非负
11Floyd 的 k 必须在最外层第 7 章这句话要刻在脑子里
12复杂度量级排序:O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2ⁿ) < O(n!)第 8 章必背顺序
13图遍历复杂度 O(V+E),不是 O(V·E)第 8 章相加不是相乘
14剪枝不改变最坏复杂度的上界第 8 章判断题高频
15记忆化搜索把 O(2ⁿ) 降到 O(n),不是 O(n²)第 9 章斐波那契优化链

二、逐章考点 · 易错点总表 ​

1. 第 2 章 计数原理 ​

考点星级出题形式易错点
加法原理(分类)⭐⭐⭐⭐⭐选择/计算与乘法原理混淆
乘法原理(分步)⭐⭐⭐⭐⭐选择/计算分步之间必须相互独立
两大原理辨析⭐⭐⭐⭐⭐判断/选择关键看"或"还是"然后"
分类不重不漏⭐⭐⭐⭐选择重复计数是头号错误
树状图枚举⭐⭐⭐选择小规模可用,大规模必用原理
含限制条件的计数⭐⭐⭐⭐选择/编程先处理限制元素

2. 第 3 章 排列与组合 ​

考点星级出题形式易错点
排列 A(n,m) 公式⭐⭐⭐⭐⭐选择/计算有序;n!/(n-m)!
组合 C(n,m) 公式⭐⭐⭐⭐⭐选择/计算无序;n!/(m!(n-m)!)
阶乘溢出边界⭐⭐⭐⭐⭐选择/判断20! 是 long long 极限
组合数三种求法⭐⭐⭐⭐⭐选择/编程公式法 / 递推(杨辉三角)/ 阶乘逆元
C(n,m) = C(n,n−m)⭐⭐⭐⭐选择/判断对称性,可简化计算
捆绑法⭐⭐⭐⭐选择/计算相邻问题先打包
插空法⭐⭐⭐⭐选择/计算不相邻问题先排再插
排列 vs 组合判定⭐⭐⭐⭐⭐判断/选择交换顺序算不算同一种

3. 第 4 章 杨辉三角 ​

考点星级出题形式易错点
杨辉三角的定义⭐⭐⭐⭐选择/判断每个数 = 肩上的两个数之和
二维递推实现⭐⭐⭐⭐⭐代码填空/编程边界:每行首尾为 1
一维滚动数组优化⭐⭐⭐⭐⭐代码填空必须倒序更新,否则覆盖
用杨辉三角求组合数⭐⭐⭐⭐⭐选择/编程第 n 行第 m 个 = C(n,m)
二项式系数求和⭐⭐⭐⭐选择/计算Σ C(n,k) = 2ⁿ
路径计数(经典应用)⭐⭐⭐⭐⭐编程题从 (0,0) 到 (n,m) 的方案数 = C(n+m, n)
编号从 0 还是 1 起⭐⭐⭐⭐选择看清题目给的行号起点
数据范围与溢出⭐⭐⭐⭐编程大数取模

4. 第 5 章 倍增法 ​

考点星级出题形式易错点
倍增核心思想⭐⭐⭐⭐⭐选择/判断二进制拆分,O(log n)
快速幂模板⭐⭐⭐⭐⭐编程题/代码填空ans 初始为 1,不是 0
快速幂时间复杂度⭐⭐⭐⭐⭐选择/判断O(log b),不是 O(log a)
位运算 b & 1⭐⭐⭐⭐⭐选择/代码填空取最低位,判断奇偶
位运算 b >>= 1⭐⭐⭐⭐⭐代码填空/选择右移一位,等于除以 2
取模防溢出⭐⭐⭐⭐⭐选择/编程/判断用 long long,每步取模
LCA 倍增(📚 超纲)⭐⭐⭐⭐选择/判断up[j][i] = 2ʲ 级祖先
RMQ / ST 表(📚 超纲)⭐⭐⭐⭐选择/判断预处理 O(n log n),查询 O(1)
循环条件⭐⭐⭐⭐代码填空/判断while(b>0) 不是 while(b>1)
模运算性质⭐⭐⭐⭐选择/判断(a*b)%p = [(a%p)*(b%p)]%p

5. 第 6 章 代数与平面几何 ​

考点星级出题形式易错点
一元一次方程⭐⭐⭐⭐选择/判断a=0 的特殊情况(无解/无穷解)
二元一次方程组⭐⭐⭐⭐选择/计算代入 / 加减消元法
长方形面积 / 周长⭐⭐⭐⭐⭐选择/计算面积 = 长×宽,周长 = 2×(长+宽)
正方形面积 / 周长⭐⭐⭐⭐⭐选择/计算面积 = 边长²,周长 = 4×边长
三角形面积⭐⭐⭐⭐⭐选择/计算别忘 ÷ 2
圆的面积 / 周长⭐⭐⭐⭐⭐选择/计算面积 = πr²,周长 = 2πr
浮点数比较⭐⭐⭐⭐⭐判断/选择不能 ==,要用 eps
海伦公式⭐⭐⭐选择/了解p=(a+b+c)/2,√(p(p-a)(p-b)(p-c))
几何计数⭐⭐⭐⭐选择/计算C(m,2)×C(n,2) 数长方形
π 的精确表示⭐⭐⭐⭐选择/编程acos(-1.0) 比 3.14 精确

6. 第 7 章 图论算法及综合应用 ​

考点星级出题形式易错点
MST 定义和性质⭐⭐⭐⭐⭐选择/判断n 个点 n−1 条边,无环,连通
Kruskal 算法⭐⭐⭐⭐⭐编程题/选择边排序 + 并查集,O(m log m)
Prim 算法⭐⭐⭐⭐选择/判断贪心加点,稠密图更优
Dijkstra 算法⭐⭐⭐⭐⭐编程题/选择不能处理负权边
Floyd 算法⭐⭐⭐⭐⭐编程题/选择/代码填空k 必须在最外层,O(n³)
并查集⭐⭐⭐⭐⭐代码填空/编程路径压缩 + 按秩合并,近似 O(1)
算法选型⭐⭐⭐⭐⭐选择/判断MST vs 最短路;Kruskal vs Prim
负权边处理⭐⭐⭐⭐选择/判断Dijkstra 不能;Floyd 可以(但不可有负环)
重边 / 自环⭐⭐⭐⭐编程细节重边取最小值,自环不影响
INF 初始化⭐⭐⭐⭐代码填空0x3f3f3f3f ≈ 1e9,两个相加不溢出
不可达输出⭐⭐⭐⭐编程细节输出 −1,用 INF/2 判断(防溢出)
图论建模⭐⭐⭐⭐⭐编程题三问:顶点?边?边权?

7. 第 8 章 时间和空间效率分析 ​

考点星级出题形式易错点
大 O 表示法规则⭐⭐⭐选择、判断忘记忽略常数系数、保留低阶项
循环复杂度分析⭐⭐⭐选择、程序阅读两层循环想当然 O(n²),不数内层实际次数
递归复杂度(递归树)⭐⭐⭐选择、判断时间和空间混淆;空间看深度不是节点数
最好/最坏/平均⭐⭐选择、判断快排最坏 O(n²) 常记错;归并三者都是 O(n log n)
空间复杂度(含递归栈)⭐⭐⭐选择、判断漏掉递归栈;归并空间 O(n) 而非 O(log n)
1 秒数据量估算⭐⭐⭐选择不留余量;n√n 等中间量级判断不准
排序算法复杂度对比⭐⭐⭐选择、判断稳定性、空间、最坏情况张冠李戴
图遍历复杂度⭐⭐选择误写为 O(V·E);混淆邻接表和邻接矩阵
DP 复杂度分析⭐⭐选择时间 = 状态数 × 转移代价,常漏乘转移代价
剪枝与复杂度上界⭐⭐判断以为剪枝改变最坏复杂度上界

8. 第 9 章 算法优化 ​

考点星级出题形式易错点
斐波那契优化链⭐⭐⭐选择、判断记忆化搜索是 O(n) 不是 O(n²);矩阵快速幂 O(log n)
前缀和 / 打表预处理⭐⭐⭐选择、编程只问一次时预处理反而更慢;下标从 1 开始
记忆化搜索⭐⭐⭐选择、编程忘记初始化记忆数组;边界处理不当
快速幂⭐⭐⭐选择、编程忘记取模导致溢出;初始值设为 0(应为 1)
排序 + 双指针⭐⭐选择、编程双指针移动条件判断错误;需先排序
贪心算法⭐⭐⭐选择、判断误以为所有问题都能贪心;0/1 背包用贪心是错的
数据结构选型⭐⭐⭐选择哈希表 vs 堆 vs 并查集适用场景混淆
等差 / 等比求和公式⭐⭐⭐选择、编程等比求和取模时除法要换成乘逆元
约瑟夫递推⭐⭐选择、编程0 基 / 1 基编号转换错误;递推初始条件记错
数学消元优化⭐⭐编程变量关系推导错误;忘记检验约束条件

三、选择题 / 判断题「陷阱」20 条 ​

  1. 「分类」用加法,「分步」用乘法——先判断是"或"还是"然后"。
  2. 排列与组合的差别只有一句话:选出来后还要不要排序。
  3. 20! ≈ 2.43×10¹⁸ 刚好装进 long long,21! 就溢出。
  4. C(n,m) = C(n,n−m)——m 很大时换一个算,能省一半循环。
  5. 杨辉三角一维优化必须倒序(和 01 背包同理)。
  6. 从 (0,0) 到 (n,m) 只能向右/向下的路径数 = C(n+m, n)。
  7. 快速幂的复杂度是 O(log b)(指数的位数),不是 O(log a)。
  8. ans 初值写 1,且最好写 1 % p(p = 1 时答案应为 0)。
  9. while (b > 0),写成 b > 1 会漏掉最高位。
  10. b & 1 是按位与,b && 1 是逻辑与——别写错。
  11. 三角形面积 = 底 × 高 ÷ 2,÷2 最容易漏。
  12. π 用 acos(-1.0),别手写 3.14。
  13. Dijkstra 不能处理负权边(判断题年年考)。
  14. Floyd 的 k 在最外层,i、j 在内层。
  15. 并查集判断同集合要比根不比父。
  16. INF 用 0x3f3f3f3f,判断不可达用 INF/2(防止加法溢出)。
  17. 图的邻接表遍历复杂度是 O(V+E),不是 O(V·E)。
  18. 归并排序的空间复杂度是 O(n)(辅助数组),不是 O(log n)。
  19. 剪枝不改变最坏情况的复杂度上界。
  20. 记忆化搜索把朴素递归的 O(2ⁿ) 降到 O(n),不是 O(n²)。

四、考前 30 分钟速查卡 ​

【计数】    分类相加(或)、分步相乘(然后);不重不漏
【排列组合】A(n,m)=n!/(n-m)!(有序);C(n,m)=n!/(m!(n-m)!)(无序)
            C(n,m)=C(n,n-m);20! 是 long long 极限,21! 溢出
            捆绑法(相邻)、插空法(不相邻)
【杨辉三角】每数 = 肩上两数之和;第 n 行第 m 个 = C(n,m)(从 0 起)
            一维优化必须倒序;Σ C(n,k) = 2ⁿ
            路径计数:C(n+m, n)
【倍增】    快速幂:ans=1(不是0);while(b>0);b&1;b>>=1
            复杂度 O(log b);每步取模防溢出;用 long long
            LCA / ST表 / 矩阵快速幂 → 📚 超纲
【几何】    三角面积 = 底×高÷2;圆 S=πr² C=2πr;π = acos(-1.0)
            海伦:p=(a+b+c)/2,S=√(p(p-a)(p-b)(p-c))
            浮点比较用 eps,不能 ==
【图论】    Kruskal:边排序+并查集 O(m log m),稀疏图
            Prim:加点,稠密图
            Dijkstra:非负权!堆优化 O(E log V);d != dist[u] 跳过过期
            Floyd:k 最外层,O(n³)
            并查集:路径压缩+按秩合并,比根不比父
            INF = 0x3f3f3f3f;不可达判 INF/2
【复杂度】  O(1)<O(log n)<O(√n)<O(n)<O(n log n)<O(n²)<O(n³)<O(2ⁿ)<O(n!)
            C++ 每秒约 10⁸ 次简单操作
            图遍历 O(V+E);归并空间 O(n);剪枝不改上界
            DP 时间 = 状态数 × 转移代价
【优化】    递归 O(2ⁿ) → 记忆化 O(n) → 矩阵快速幂 O(log n)(后两者超纲)
            前缀和/打表、排序+双指针、贪心、数学公式
【考试】    单选 15×2 + 判断 10×2 + 编程 2×25 = 100 分,180 分钟

本表由各章「考点总结表」聚合而成;若与正文冲突,以正文最新修订为准(见附录 E)。

百炼成钢,融会贯通