资讯动态

OI Wiki 全指南:面向 OI/ICPC 竞赛的免费知识整合站点与学习路径

发布时间:2026/9/12 20:35:31 来源:尧图企业网站定制
OI Wiki 全指南面向 OI/ICPC 竞赛的免费知识整合站点与学习路径【免费下载链接】OI-wiki:star2: Wiki of OI / ICPC for everyone. 某大型游戏线上攻略内含炫酷算术魔法项目地址: https://gitcode.com/GitHub_Trending/oi/OI-wikiOI Wiki是一个免费开放、持续更新的编程竞赛competitive programming知识整合站点收录了从语言基础、算法与数据结构到数学、图论、字符串与竞赛工具等系统性内容。本文将围绕其首页定位见 docs/index.md完整介绍 OI 与 ICPC 两大竞赛的背景、OI Wiki 的知识体系结构、本地部署方式、镜像站与参与贡献的完整路径帮助你快速上手并持续使用这套面向所有竞赛爱好者的公开知识库。什么是 OI 与 ICPC首页定义的两大赛事体系OIOlympiad in Informatics信息学奥林匹克竞赛在中国起源于 1984 年是五大高中学科竞赛之一面向中学阶段的信息学爱好者。ICPCInternational Collegiate Programming Contest国际大学生程序设计竞赛由 ICPC 基金会ICPC Foundation举办是最具影响力的大学生计算机竞赛由于早期由 ACM 赞助许多人习惯将其称为 ACM 竞赛。两大赛事共同构成了编程竞赛从高中到大学的主线而OI Wiki正是围绕这两条主线组织内容的知识站点。值得一提的是OI Wiki 项目受 CTF Wiki 的启发在编写过程中参考了诸多资料站点整体定位为“让更多竞赛资源不充裕的同学能方便地接触到训练资源”的免费知识整合平台。OI Wiki 的定位与内容组织OI Wiki 致力于成为一个免费开放且持续更新的编程竞赛知识整合站点为读者提供竞赛中的基础知识、常见题型、解题思路以及常用工具。整个站点的知识体系由 mkdocs.yml 中的导航nav结构定义从仓库源码结构看内容按如下主题分目录组织在docs/下主题目录覆盖内容入口文档docs/intro/项目简介、如何参与、格式手册、F.A.Q.、镜像站docs/intro/about.mddocs/contest/赛事与赛制、题型、学习路线、学习资源docs/contest/index.mddocs/tools/编辑器、评测工具、命令行、Git、LaTeXdocs/tools/index.mddocs/lang/C 基础、STL、Python、Java 等语言教程docs/lang/index.mddocs/basic/复杂度、枚举模拟、贪心、排序、二分、前缀和docs/basic/index.mddocs/search/DFS/BFS、A*、迭代加深、回溯、Dancing Linksdocs/search/index.mddocs/dp/背包、区间、树形、状压、数位、插头 DP 及优化docs/dp/index.mddocs/string/哈希、KMP、AC 自动机、后缀数组/自动机、Manacherdocs/string/index.mddocs/math/数论、多项式、组合数学、线性代数、概率、博弈论docs/math/index.mddocs/ds/栈队列链表、堆、树状数组、线段树、平衡树、可持久化docs/ds/index.mddocs/graph/最短路、生成树、网络流、匹配、连通性、树上问题docs/graph/index.mddocs/geometry/二维/三维几何、凸包、扫描线、旋转卡壳、半平面交docs/geometry/index.mddocs/misc/莫队、CDQ 分治、随机化、模拟退火、离散化docs/misc/index.mddocs/topic/RMQ、并查集应用、括号序列等专题docs/topic/rmq.md每个主题目录下通常配套code/可运行代码与examples/测试数据子目录。例如排序算法一节在 docs/basic/code/ 下按算法分别存放*.cpp、*.py、*.java代码并在 docs/basic/examples/ 下提供对应的.in/.ans测试数据保证文中示例代码可验证、可运行。首页的读者引导机制从 docs/index.md 的源码可以看到首页除定位介绍外还包含一段用于 Material for MkDocs 主题的交互脚本对应 issue #758用于在页面加载时自动展开侧边导航栏降低新读者的浏览门槛。这说明首页不仅是内容入口也承担着引导读者快速进入知识体系的功能。本地部署 OI Wiki从源码构建站点OI Wiki 采用 MkDocs 构建官网部署在 oi-wiki.org站点状态可通过 status.oi-wiki.org 监控。以下部署流程依据仓库 README.md 整理适用于希望本地预览或自建镜像的读者。环境要求Python 3 与 uv包管理器Node.js如需启用服务器端 MathJax 渲染Git部署步骤git clone https://github.com/OI-wiki/OI-wiki.git --depth1 cd OI-wiki # 安装 uv如果尚未安装 pip install uv # 安装依赖可通过指定镜像源加速 uv sync --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ # 使用自定义主题Windows 下请使用 Git Bash 执行 # 安装主题时将连接网络下载资源可通过以下配置项控制下载链接 # .gitmodules: # - url # scripts/pre-build/install-theme-vendor.sh: # - MATHJAX_URL # - MATERIAL_ICONS_URL ./scripts/pre-build/install-theme.sh安装完成后有两种使用方式任选其一# 1. 运行本地服务器访问 http://127.0.0.1:8000 查看效果 uv run mkdocs serve -v # 2. 在 site 文件夹下生成静态页面 uv run mkdocs build -v如需查看全部命令行参数可执行uv run mkdocs --help。镜像与离线版本镜像仓库Gitee 码云上的镜像仓库与 GitHub 仓库内容相同可通过git clone https://gitee.com/OI-wiki/OI-wiki.git获取。离线版可使用gh-pages分支内容例如git clone https://gitee.com/OI-wiki/OI-wiki.git -b gh-pages本地通过静态服务器即可浏览# 如果是 python3 python3 -m http.server # 如果是 python2 python2 -m SimpleHTTPServer网络访问优化建议如果访问 GitHub 或 pip 速度较慢可参考 docs/intro/faq.md 中的建议在 hosts 文件中加入 GitHub 相关域名的 IP 映射列表详见 FAQ使用国内 pip 镜像源pip install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/浅克隆减少下载量git clone https://github.com/OI-wiki/OI-wiki.git --depth1 -b master。镜像站与访问状态OI Wiki 主站部署在国外服务器网络不佳时可选用镜像站。仓库在 docs/intro/mirrors.md 中维护了镜像站列表常见镜像包括主站线路 DMIThttps://oi-wiki.org阿里云线路镜像http://oi-wiki.comNetlify 线路镜像https://demo.oi-wiki.org社区维护的多域名镜像AWS、Azure 阿里云 CDN 等包括 oi.wiki 等多个域名同步频率均与主站相同当遇到访问问题时可以先打开状态页 status.oi-wiki.org 查看各站点的在线情况再选择合适的镜像。如何参与 OI Wiki贡献内容与代码OI Wiki 由社区驱动欢迎任何人为其编写内容。仓库在 docs/intro/htc.md 中给出了完整流程要点如下。内容方针参与编写前请先阅读 docs/intro/what-oi-wiki-is-not.md 理解项目边界OI Wiki 不发表原创研究、不收录带时效性的新闻、不充当档案馆与宣传工具内容必须客观中立、限定在“已经被应用于编程竞赛”的计算机科学和数学知识因此每一条目都应经得起沉淀与检验。协作方式开始编写前先查阅 Issues确认没有他人正在做相同工作再开新 Issue 记录待编写内容。选择自己熟悉的领域优先编辑对初学领域建议先学习加深理解。编写格式请严格遵守 docs/intro/format.md 格式手册涵盖文件名规范、标点、Markdown 与主题扩展语法、LaTeX 公式、代码块等条目化要求。编辑与提交编辑单个页面在站点对应页面点击右上角「编辑此页」按钮跳转 GitHub 后直接修改commit 信息与 Pull Request 标题推荐格式为修改类型(文件名): 修改的内容修改类型包括feat新增、fix修正、refactor重构、revert回退。编辑多个页面在仓库页面按.键进入网页版 VS Code 编辑器或将 URL 中github.com改为github.dev修改后通过 Source Control 提交。本地 Git 流程Fork → Clone → 本地修改并 commit → push → 提交 Pull Request详细操作可参考 docs/tools/git.md。预览变更PR 提交后Netlify 会自动构建预览页面点击 PR 下方 netlify/oi-wiki/deploy-preview 的 Details 链接即可查看效果。目录与引用的维护新增页面或修改导航链接时需要同步维护 mkdocs.yml站点目录的唯一定义文件对应 FAQ 中“目录在哪”的答案。修改既有链接时还需注意更新文件头author字段手动维护的贡献者列表并在必要时间修改 docs/_redirects 重定向文件以避免死链。例题代码的规范OI Wiki 对例题代码有全平台测试要求贡献代码时需注意详见 docs/intro/format.md代码需同时支持 C14 / C17 / C20 标准编译运行不使用bits/stdc.h等非标准头文件每份例题代码都要在docs/主题/examples/内容/下配套.in/.ans测试数据推荐使用--8-- 路径语法在文档中引用docs/主题/code/内容/内容_编号.cpp的代码文件。常见问题速览依据 docs/intro/faq.md以下为高频问题摘要如何联系项目组通过 GitHub Issues、QQ 群、Telegram 群组交流原则上群组是 OI Wiki 讨论群。GitHub 不显示数学公式怎么办GitHub 预览不支持 MathJax但 MkDocs 支持MathJax 支持的句式均可正常渲染行间公式需让$$单独成行且两侧留空行。如何添加一个新 topic两种方式——开 Issue 注明希望添加的内容或开 Pull Request 在 mkdocs.yml 中加入新条目并在docs/对应位置创建.md文件格式细节参考格式手册。访问 GitHub 困难可按 FAQ 中给出的 hosts 映射方案配置或使用 Gitclone 等服务加速克隆。总结OI Wiki 以“免费开放、持续更新、知识自由”为核心理念从 docs/index.md 这一入口出发将 OI 与 ICPC 竞赛所需的全部知识组织成一个有层次、可验证、可参与维护的知识体系。无论你是刚接触编程竞赛的新手希望系统性学习算法与数据结构还是想为社区贡献内容、本地部署镜像都可以在本仓库中找到对应的章节与配套的代码、测试数据作为支撑。建议新读者从 docs/basic/index.md 算法基础开始结合 docs/contest/roadmap.md 学习路线规划自己的进阶路径。【免费下载链接】OI-wiki:star2: Wiki of OI / ICPC for everyone. 某大型游戏线上攻略内含炫酷算术魔法项目地址: https://gitcode.com/GitHub_Trending/oi/OI-wiki创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价