第 1 章 · 01 OI Wiki 是什么与这份地图的定位 本节定位:总览级,对应 OI Wiki 项目本身 + 全站。难度:入门导读。前置依赖:无。 ⚠️ 注意:这份地图的角色是"导航+增量",不是另一份教程。如果你把它当成 Wiki 的替代品来读,就本末倒置了——它必须和 OI Wiki 一起用。 知识地图 OI Wiki 是什么 OI Wiki(Olympiad in Informatics Wiki)是一个致力于成为免费、开放的编程竞赛知识整合站点的中文知识库,由社区共建。它面向信息学奥林匹克竞赛(NOI 系列)、ICPC/CCPC 等算法竞赛的学习者,目标是把分散在博客、题解、讲义里的算法知识整合成一份系统、准确、中文的参考资料。
本节定位:总览级,对应 OI Wiki 项目本身 +
docs/全站。难度:入门导读。前置依赖:无。
⚠️ 注意:这份地图的角色是"导航+增量",不是另一份教程。如果你把它当成 Wiki 的替代品来读,就本末倒置了——它必须和 OI Wiki 一起用。
OI Wiki(Olympiad in Informatics Wiki)是一个致力于成为免费、开放的编程竞赛知识整合站点的中文知识库,由社区共建。它面向信息学奥林匹克竞赛(NOI 系列)、ICPC/CCPC 等算法竞赛的学习者,目标是把分散在博客、题解、讲义里的算法知识整合成一份系统、准确、中文的参考资料。
项目用 MkDocs + 自定义 Material 主题构建,MathJax 在服务端预渲染公式,CI 同时产出网页版和 PDF 版(xelatex 与 Typst 两套)。
数字本身就能说明问题:
intro / contest / tools / lang / basic / search / dp / string / math / ds / graph / geometry / misc / topic。质量保障靠多重 CI,这是 Wiki 区别于普通博客的关键:
💡 学习提示:这意味着 Wiki 的代码片段你可以直接复制使用,不用担心平台问题。看到
docs/xxx.md里的 C++ 代码,粘贴到任何主流环境都能跑。这是省去你大量调试时间的"隐形福利"。
OI Wiki 仓库根目录的 mkdocs.yml 里有完整的 nav 导航树,就是这 13 大类的层级组织。读者可以直接打开 mkdocs.yml 看到整站结构,也可以在网页版左侧目录栏浏览。这份地图第 1 章 02 节会专门讲这棵导航树怎么用。
Wiki 已经足够好,为什么还要这份地图?因为 Wiki 是扁平的——465 篇按主题并列,新读者面对海量页面容易迷路,不知道先学什么、哪里是难点、哪些是前置。这份地图只做 Wiki 本身缺乏的三件事:
💡 第一,分级学习路径。把 Wiki 已有页面按"入门→进阶→省选→IOI"四级难度,串成带先后依赖、带难度标注的课程。告诉你"先学什么、后学什么、哪里是前置"。
💡 第二,难点慢节奏精讲。Wiki 多数页面是"知识条目式"(简洁但快)。对真正难的概念(线段树懒标记、网络流 Dinic、SAM、FFT 等),这份地图做更慢节奏、更多推导的增量讲解,作为 Wiki 页面的配套讲义。
💡 第三,实战串联。Wiki 偏理论。这份地图围绕经典 OJ 题目(洛谷/Codeforces)做"用 Wiki 哪些知识解这道题"的串联,把抽象模板落到具体题目。
这三件事正是 Wiki 这种"知识库"形态天然不擅长的——知识库追求"全"和"准",而课程追求"序"和"通"。地图补的就是后两者。
⚠️ 注意:这是最常被误解的一点。OI Wiki 本身已经是成熟的、纯中文的、面向学习者的教程型知识库——它不需要被"汉化"或"补教程"。重写它的内容是重复造轮子,既浪费精力,又会引入不一致(两份内容谁对?)。
因此这份地图绝对不重写 OI Wiki 的内容。它做的是:
你 → 这份学习地图(分级路径 + 难点精讲 + 实战串联) │ 引用 ▼ OI Wiki docs/ 465 篇(知识本身)
docs/ 页面",用稳定的相对路径引用,如 docs/ds/seg.md。docs/xxx/images/ 路径。本质上,这是导航增强 + 增量讲解,在 Wiki 稳定的 docs/ 页面之上构建教学叙事。
💡 学习提示:用以下三个信号自检,判断这份地图对你是"导航+增量"而非"误读":
docs/ 路径看完整内容。如果读完地图反而不知道 Wiki 在哪,说明你把地图当 Wiki 读,丢了导航作用。如果三个信号都满足,恭喜你用对了。
教程/教程总纲.md 是这份地图的目录和阅读约定,5 分钟读完,建立全景。docs/xxx/yyy.md 都是 OI Wiki 的页面,看到就打开 Wiki 对照读。💡 学习提示:这份地图的篇幅不长(每节 130-180 行),但每节背后对应的 Wiki 内容可能很厚。地图是"地图",不是"地形"——看地图知道往哪走,真正走路要在 Wiki 上走。
mkdocs.yml 的 nav 树就是整站目录。docs/ 路径引用 Wiki 页面。