- 学历:民办二本,计科
- 基础:大一上学期才接触算法,无竞赛培训资源
- 成绩:自学算法半年,获17届蓝桥杯国二、AHCPC省二(单人扛队)
- 目标:帮助和我条件相似的同学少走弯路
- 大一想打蓝桥杯,但学校不教/老师不讲的
- 自学算法找不到方向,刷了很多题但感觉没体系
- 时间有限,需要一份"可直接执行"的紧凑计划
- 和我一样基础薄弱、资源有限,但需要证明自己
不求深挖,只求识别类型、套用模板、理解原理。先建立完整算法世界观。
| 阶段 | 核心亮点 | 一句话目标 |
|---|---|---|
| C语言+模拟 | 30分钟原则、边界条件处理、printf调试 | 把"人脑思路"精准翻译成代码逻辑 |
| 转战C++ | 只学竞赛最小子集,不碰面向对象/模板/智能指针 | STL效率翻倍,cin/cout优化必写 |
| 效率工具包 | 双指针、二分、哈希、前缀和、滑动窗口 | 认全工具箱,看懂复杂度速查表,学会"看数据范围猜算法" |
| 链表指针 | 力扣原生ListNode接口,虚拟头节点处理边界 |
锻炼指针思维,同时服务数据结构课程 |
| 树+DFS+回溯 | 递归思维总决战:纸上画递归树、迭代+递归双掌握 | DFS是万能钥匙,先写暴破版再优化,根治递归恐惧 |
| 图论+贪心 | 知识串联:并查集→Kruskal→Prim→Dijkstra | 模板化恢复信心,建立"每次选当前最优"的贪心直觉 |
| 动态规划 | 防挫败设计:从DFS暴破→加memo→递推,三步走建立DP骨架 | 理解状态定义与转移方程,不碰高难变种,保住信心 |
真题驱动,从"会模板"到"会识别问题、主动选择工具"。
| 板块 | 核心亮点 |
|---|---|
| 真题初探 | ABC分类法:A类知识盲区→留给扩展,B类学过没想到→重点记录,C类能写暴力→先骗分再学正解 |
| 小算法查漏补缺 | 二分边界闭眼写(左闭右开/左闭右闭)、sort自定义排序、二维前缀和公式推导 |
| 高精度 | 1天搞定加减乘除模板,看到超出long long立刻想到字符串模拟 |
| DFS爆搜强化 | 5分钟定搜索框架,N皇后含剪枝闭眼默写,30分钟没思路立刻切暴力骗分 |
| 图论巩固 | 每个模板10分钟内默写,能说清每句代码含义,Prim和Dijkstra代码结构对比着学 |
| 贪心进阶 | 四类题型(排序/区间/优先级/构造),刻意用贪心写01背包并看到它失败——这是进入DP的最强动机 |
| DP重兵突破 | 独立推导线性DP状态定义,三种背包(01/完全/分组)默写无误,记忆化搜索与递推互转 |
| 扩展提升 | 树状数组(理解lowbit对称性)、树形DP(独立集/最小点覆盖/最小支配集)、分层图最短路、区间DP、反悔贪心 |
📄 详细题单、时间预估、检验标准、配套题目 → 见下方
一轮基础版:点击在线预览PDF
二轮强化版:点击在线预览PDF
如果你在阅读路线时觉得某些地方“不合理”或“权重偏颇”,大概率是因为以下设计考量:
(答) 本路线不仅服务竞赛,也兼顾大学生数据结构课业。指针实现链表是期末笔试/机考的高频考点,此处多花时间,是为了让你在竞赛和学业之间少一次“临时抱佛脚”。
(答) 个人觉得力扣的只写主要代码的特点更能让人专注到算法中,以及力扣的题目大部分都比较简单而且经典更适合算法入门。
(答) 数组模拟会掩盖递归的返回值传递过程。力扣的指针版强行逼你思考“这个递归到底要返回什么”,是练递归内功的最佳道场。等递归通了,二轮再看数组模拟,一天就会。
(答) 本人当初在DP上硬刷到怀疑人生,每道题都靠题解,怀疑人生差点放弃算法学习。所以这里一轮只建立“DFS→记忆化→递推”的认知,对DP只做初步的了解,保住你的信心。二轮再火力全开,那时候你已经有地图了。
(答) 分层图本质是“最短路+DP状态”,底子好了一天就能通;反悔贪心实战频率不高,且核心就一句“先选再踢”。学透思想即可,不必沉溺。
本路线基于个人真实学习经验总结,非标准教材,也非唯一正确路径。
文件中的题目仅作参考,自己觉得刷完达不到标准的地方自行找更多的题目练习。
算法学习因人而异,请根据自身情况调整节奏。
我当初踩过的坑,或许能帮你绕过去。
本路线的核心逻辑、阶段划分、题型筛选、难度把控、避坑注释,均为本人基于半年自学的亲身经历手动撰写。
在成文过程中,我使用AI工具(如ChatGPT/Claude)进行了以下辅助:
- 语法与错别字修正(让语句更通顺);
- 排版优化(Markdown/表格格式化);
- 逻辑漏洞排查(帮我指出哪些地方跳步太快,哪些地方兼顾不到)。
- 部分题目有AI帮忙补充挑选的 都源于我个人在键盘前崩溃又爬起的真实经历。