首页课程小红花墙

算法进阶 · 小纸条

选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。

第 1 章30第 2 章30第 3 章30第 4 章30第 5 章30第 6 章30第 7 章30第 8 章30第 9 章30第 10 章30第 11 章30第 12 章30第 13 章30第 14 章30第 15 章30第 16 章30第 17 章30第 18 章30第 19 章30第 20 章30第 21 章30第 22 章30第 23 章30第 24 章30第 25 章10
只印题目
第 1 页 · 正面(题目)
1最优性剪枝

最优性剪枝需要先具备什么?

2搜索顺序

优先扩展分支最少的节点,依据什么直觉?

3迭代加深

迭代加深相比普通 BFS 的主要优点是什么?

4二进制集合

集合 S=5(二进制 101)含哪些元素(下标从 0)?

5枚举子集

for(int S=0;S<(1<<n);S++) 共循环几次?

6状压DP思维

状压 DP 适用的典型数据范围是?

7棋盘状压

判断某行状态 S 内部没有相邻的两个 1,用什么条件?

8均摊分析

向 vector 尾部插入 n 个元素,均摊每次复杂度是多少?

9势能直觉

单调栈里每个元素最多被 push、pop 各一次,这体现了什么分析?

10复杂度陷阱

n=10^5 时 O(n²) 约 10^10 次运算,通常会怎样?

第 1 页 · 背面(答案)

参考答案(家长):尽早触发矛盾或确定,减少无效展开。

参考答案(家长):一个当前已知的最优解(界),用来比较剪枝。

参考答案(家长):元素 0 和 2。

参考答案(家长):内存占用小(DFS 只存一条路径),仍能找最短。

参考答案(家长):n 很小(约 ≤20),因状态数达 2^n。

参考答案(家长):2^n 次。

参考答案(家长):均摊 O(1)(扩容总代价 O(n))。

参考答案(家长):(S&(S<<1))==0(无两个相邻位同时为 1)。

参考答案(家长):超时(远超 1 秒可算量)。

参考答案(家长):均摊/势能分析,总操作 O(n)。

第 2 页 · 正面(题目)
11对拍原理

对拍需要哪三样东西?

12造随机数据

对拍数据规模应偏大还是偏小,为什么?

13调试技巧

为什么调试输出建议用 cerr 而非 cout?

14读题抓关键

数据范围为什么要第一时间看?

15抽象建模

“城市间修路使全连通且总长最小”抽象成什么模型?

16范围反推法

n≤10^5、时限 1s,O(n²) 可行吗?

17时间分配

遇到暂时想不出正解的题,第一反应该做什么?

18部分分策略

满分算法没思路时,如何拿分?

19骗分技巧

骗分的底线要求是什么?

20暴力打表

打表法适合什么样的题?

第 2 页 · 背面(答案)

参考答案(家长):偏小,便于暴力快速跑并人工核对反例。

参考答案(家长):正解、暴力(基准)、随机数据生成器。

参考答案(家长):它直接决定可用算法的复杂度上限。

参考答案(家长):cerr 走标准错误,不混入答案(标准输出),便于分离。

参考答案(家长):不可行(约 10^10 次),需 O(n log n) 或更快。

参考答案(家长):最小生成树。

参考答案(家长):为小数据写暴力、为特殊子任务写特判。

参考答案(家长):先写暴力/骗分拿部分分,标记后再攻。

参考答案(家长):输入范围小、可离线预算出全部答案的题。

参考答案(家长):程序能编译、能运行、输出格式正确,不 RE。

第 3 页 · 正面(题目)
21检查与提交

用文件 IO 的赛制,交前最该确认什么?

22整数溢出

int a=1e5,b=1e5; long long c=a*b; 结果对吗?

23边界与越界

访问 a[i-1] 时,i 至少从几开始才安全?

24多组数据

处理多组数据时最容易漏做的一步是什么?

25数组初始化

想把 int 数组每个元素设为 1,能用 memset(a,1,…) 吗?

26输入输出坑

关闭同步(sync_with_stdio(false))后还能混用 scanf 吗?

27工具箱回顾

看到“最大值最小”这样的字眼,优先想哪个方法?

28复杂度对照

n=2000、时限 1s,O(n²) 约多少次运算,可行吗?

29模板手感

快读、并查集这类模板赛前应达到什么熟练度?

30考前总动员

为自己写一条最想提醒的“考场检查清单”要点。

第 3 页 · 背面(答案)

参考答案(家长):不对,a*b 先按 int 算已溢出,应写 (long long)a*b。

参考答案(家长):输入输出文件名与题目要求完全一致。

参考答案(家长):每组重新初始化(清空)全局变量与数组。

参考答案(家长):从 1 开始(i=0 时 a[-1] 越界)。

参考答案(家长):不能,关同步后 C 与 C++ 流的缓冲不再一致。

参考答案(家长):不能,会得到 0x01010101 而非 1,应循环赋值。

参考答案(家长):约 4×10^6 次,可行。

参考答案(家长):二分答案。

参考答案(家长):(示例)交题前必查:多组数据清空 + long long 防溢出 + 样例全过。

参考答案(家长):能凭记忆快速、正确地默写出来。

op599 课程