编程竞赛发展多年,难度越来越高,内容越来越复杂,而网上资料大多零散,初学者往往并不知道如何系统地学习相关知识,需要花费大量时间摸索。
为了方便热爱编程竞赛的小伙伴更好地入门,2018 年 7 月份,OI Wiki 迁移至 GitHub。随着 OI Wiki 的内容不断完善,越来越多的小伙伴参与其中。
OI Wiki 致力于成为一个免费开放且持续更新的知识整合站点,大家可以在这里获取关于 编程竞赛 (competitive programming) 有趣又实用的知识,我们为大家准备了竞赛中的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速深入地学习编程竞赛。
目前,OI Wiki 的内容还有很多不完善的地方,知识点覆盖不够全面,存在一些低质量页面需要修改。OI Wiki 团队以及参与贡献的小伙伴们正在积极完善这些内容。
关于上述待完善内容,请参见 OI Wiki 的 Issues 以及 迭代计划。
与此同时, OI Wiki 源于社区,提倡 知识自由,在未来也绝不会商业化,将始终保持独立自由的性质。
本项目目前采用 MkDocs 部署在 oi-wiki.org。
我们在 status.oi-wiki.org 维护了一份镜像站列表,它们的内容和 oi-wiki.org 都是相同的。
当然,也可以在本地部署。(需要 Python 3)
如果遇到问题,可以查阅 F.A.Q. 来了解更多信息。
git clone https://github.com/OI-wiki/OI-wiki.git --depth=1
cd OI-wiki
# 安装 mkdocs
pip3 install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 使用我们的自定义主题(不是必须执行)
chmod +x ./scripts/build.sh && ./scripts/build.sh
# 两种方法(选其一即可):
# 1. 运行一个本地服务器,访问 http://127.0.0.1:8000 可以查看效果
mkdocs serve -v
# 2. 在 site 文件夹下得到静态页面
mkdocs build -v
# 获取 mkdocs 的命令行工具的说明(解释了命令和参数的含义)
mkdocs --help
我们现在在服务器端渲染 MathJax ,如果希望实现类似效果,可以参考 netlify_build.sh。(需要安装 Node.js)
# 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
本地启动一个 http 服务器可能会更方便一些。
# 如果是 python3
python3 -m http.server
# 如果是 python2
python2 -m SimpleHTTPServer
# 有些环境下找不到名叫 python3/python2 的可执行文件,不妨运行 python 试试
详见 Docker 部署
我们非常欢迎你为 OI Wiki 编写内容,将自己的所学所得与大家分享。
具体的贡献方式在 如何参与。
除特别注明外,项目中除了代码部分均采用 (Creative Commons BY-SA 4.0) 知识共享署名 - 相同方式共享 4.0 国际许可协议 及附加的 The Star And Thank Author License 进行许可。
换言之,使用过程中您可以自由地共享、演绎,但是必须署名、以相同方式共享、分享时没有附加限制,
而且需要为 GitHub 仓库点赞(Star)。
而如果你想要引用这个 GitHub 仓库,可以使用如下的 bibtex:
@misc{oiwiki,
author = {OI Wiki Team},
title = {OI Wiki},
year = {2016},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {\url{https://github.com/OI-wiki/OI-wiki}},
}
本项目受 CTF Wiki 的启发,在编写过程中参考了诸多资料,在此一并致谢。
非常感谢一起完善 OI Wiki 的 小伙伴们 和为 OI Wiki 捐赠的 朋友们 !!
特别感谢 24OI 的朋友们的大力支持!
感谢 北大算协 和 Hulu 的支持!