好吧,上周末本来以为是最后一战了,还写了一篇退役感想大模型时代,手搓代码还有什么意义?,结果忽然入围了国赛。
犹豫很久,还是决定冲一把。虽然国考、创赛项目和专业课已经压得我有些透不过气,但我还是觉得需要给最后的机会一个交代。所以,好好复习吧,这回真是最后一战了。
考虑到目前的准备状态,接下来大约一个月时间,每天写复习和刷题记录。优先掌握国赛常考且模板相对固定的模块,对于过难或极偏的内容果断跳过。
详细计划
DP强化(树形DP + 区间DP + 状态压缩DP)
1. 树形DP(2天)
2. 区间DP(1.5天)
3. 状态压缩DP(2.5天)
- 核心:用二进制位表示集合状态,如
dp[mask][i]。
高级数据结构与字符串
1. 线段树(2.5天)
- 核心操作:区间修改(加/赋值)、区间查询(和、最值)。
2. 字典树(Trie)(1天)
3. KMP(1.5天)
图论进阶
1. 并查集(1天)
2. 图论最短路与拓扑排序(2天)
- Dijkstra(堆优化):必会,O((n+m) log n)
- 拓扑排序:Kahn算法(入度队列),用于判断环、求最优顺序
3. 滑动窗口/双指针(1天)
4. 贪心策略进阶(1天)
数学进阶
1. 数学进阶(0.5天)
2. 数学综合(0.5天)
3. 博弈论(0.5天)
- Nim 博弈、SG 函数(Sprague-Grundy)
4. 数学推演(1.5天)
规划
- 必须掌握:树形DP、状压DP、KMP、Dijkstra堆优化、快速幂与逆元。区间DP、字典树、SPFA判负环、欧拉函数。
- 有时间再看:字符串哈希、最小环、次短路、高级数论。
- 保持手感:每天必须在LeetCode或洛谷随机一道中等难度的题