第 1 章 · 02 分级体系总览与难度标注 本节定位:总览级,对应 + nav 树。难度:入门导读。前置依赖:无(建议先读本章 01 节)。 ⚠️ 注意:难度分级是相对的,不是绝对的。"入门"只是相对 OI 体系而言,对零基础读者仍需认真学;高阶也并非高不可攀,只是前置知识多。 知识地图 四级难度体系 这份地图把 OI Wiki 的 465 篇内容,按竞赛能力阶梯组织成四级: 一级 · 入门 对应第 2 章。内容:C++ 语言基础、算法基础(复杂度/枚举/模拟/递归/二分/贪心)、工具与比赛入门。对应 Wiki 的 + + + 。学完能做 CSP-J 入门组、洛谷入门题单。 二级 · 进阶 对应第 3-5 章。内容:数据结构(线段树/Treap)、图论(最短路/网络流)、DP 与字符串。
本节定位:总览级,对应
教程/教程总纲.md+mkdocs.ymlnav 树。难度:入门导读。前置依赖:无(建议先读本章 01 节)。
⚠️ 注意:难度分级是相对的,不是绝对的。"入门"只是相对 OI 体系而言,对零基础读者仍需认真学;高阶也并非高不可攀,只是前置知识多。
这份地图把 OI Wiki 的 465 篇内容,按竞赛能力阶梯组织成四级:
一级 · 入门
对应第 2 章。内容:C++ 语言基础、算法基础(复杂度/枚举/模拟/递归/二分/贪心)、工具与比赛入门。对应 Wiki 的 docs/lang/ + docs/basic/ + docs/contest/ + docs/tools/。学完能做 CSP-J 入门组、洛谷入门题单。
二级 · 进阶
对应第 3-5 章。内容:数据结构(线段树/Treap)、图论(最短路/网络流)、DP 与字符串。对应 Wiki 的 docs/ds/ + docs/graph/ + docs/dp/ + docs/string/。学完能做 CSP-S 提高组、NOIp。
三级 · 高阶
对应第 6-7 章一部分。内容:数学(数论/FFT/线性代数)、计算几何。对应 Wiki 的 docs/math/ + docs/geometry/。学完能做 NOI 省选难度题。
四级 · 省选/IOI
对应第 7 章专题与第 8 章实战。内容:综合专题(莫队/LCT/插头 DP)、高级字符串(SAM)、高级数学(生成函数)。对应 Wiki 的 docs/misc/ + docs/topic/。学完能冲刺 NOI/IOI。
💡 学习提示:四级不是 rigid 的"通关制"。现实中常有交叉——你可能第三级数学还没全学完,但第四级的某个专题(如 SAM)已经需要用。地图的分级是"建议主线",不是铁律。遇到具体题目需要某知识,直接去对应章节查即可。
每节标题里有两种标记:
💡 学习提示:★ 节是"分水岭"。卡在某个 ★ 节过不去很正常,说明需要回补前置或放慢节奏,不要硬冲。
每章开头(支柱页)和每节开头(> **本节定位** 那行)都标注前置依赖。比如:
学新内容前,务必确认前置已过。跳级是大忌——前置没通就学进阶,效率极低。
OI Wiki 仓库根目录的 mkdocs.yml 里,nav 字段定义了整站导航树,分 13 大类:
| 类 | 路径 | 主要内容 | 地图对应章 |
|---|---|---|---|
| intro | docs/intro/ |
简介/姿势 | 第 1 章 |
| lang | docs/lang/ |
C++ 基础/STL | 第 2 章 01 节 |
| basic | docs/basic/ |
算法基础/复杂度 | 第 2 章 02 节 |
| contest | docs/contest/ |
比赛类型/评测 | 第 2 章 03 节 |
| tools | docs/tools/ |
OJ/编辑器/编译器 | 第 2 章 03 节 |
| search | docs/search/ |
搜索(DFS/BFS/IDA*) | 第 5 章相关 |
| dp | docs/dp/ |
动态规划 | 第 5 章 |
| string | docs/string/ |
字符串(KMP/AC/SAM) | 第 5 章 |
| math | docs/math/ |
数学(数论/FFT) | 第 6 章 |
| ds | docs/ds/ |
数据结构(59 篇) | 第 3 章 |
| graph | docs/graph/ |
图论(61 篇) | 第 4 章 |
| geometry | docs/geometry/ |
计算几何 | 第 7 章 |
| misc | docs/misc/ |
杂项(莫队等) | 第 7 章 |
打开 mkdocs.yml 直接看 nav 树,或网页版左侧目录,就能浏览全站结构。
需要说明:这 13 大类是按主题分的(物理目录结构),不是按难度。同一类里(如 docs/ds/ 数据结构)既有入门的栈队列,也有省选级的 LCT。所以"按类查"不等于"按难度学"——这正是本地图要解决的问题:把按主题扁平组织的 465 篇,重新按难度和依赖串起来。
按级通读(推荐新手):从第 2 章入门开始,顺着章节顺序建立全景。每一级学扎实再进下一级。这是最稳的路径,大概需要 1-2 年从零到省选水平。
按需直查(适合有基础者):遇到某个难点(如"线段树懒标记"),直接翻第 3 章 02 节,看它在学习路径里的位置 + 慢节奏精讲,然后回 Wiki 看完整页面。适合复习或补漏。
结合 Wiki(任何情况都要):每节都标注"对应 OI Wiki 哪些 docs/ 页面"。地图是导读,精讲节读完讲解后,务必打开 Wiki 页面看完整代码、图示、证明。地图和 Wiki 是配套用的,不是二选一。
💡 学习提示:三种用法不冲突,可以混合。建议主线是"按级通读",遇到某个点想深入就"按需直查",每次读地图都"结合 Wiki"。这三件事一起做,效率最高。
⚠️ 注意:算法竞赛需要大量练习。看懂 ≠ 会写。每个知识点都要配套刷 5-10 道题,才能在比赛高压下稳定写出。光看地图和 Wiki 是不够的。
具体建议:
docs/ 里的代码是参考,但你要能离开 Wiki 手写一遍(线段树/Dijkstra/Dinic 等)。💡 学习提示:OI Wiki 自带的
docs/contest/roadmap.md也是一份官方学习路线,本地图的分级体系与它兼容,但更细粒度、带难点精讲。两份可以对照参考。
mkdocs.yml 的 nav 树是 13 大类导航,可用来浏览全站结构。