Programming competitions have been around for many years. Its difficulty level is increasingly higher, and the content is getting increasingly more complicated. However, most of the online materials are scattered, which takes a lot of time to explore, and beginners often do not know how to learn relevant knowledge systematically.
In order to make it easier for friends who love programming competitions to get started, in July 2018, OI Wiki was migrated to GitHub. As the content of OI Wiki continues to improve, more and more friends are starting to join in.
OI Wiki is aimed to be a free, open and continuously updated knowledge integration website. You can find interesting and practical knowledge about competitive programming here. We have prepared the content including basic knowledge, common types of questions, problem-solving ideas, and common tools, etc., to help everyone learn programming competitions more quickly and deeply.
Right now, the content of OI Wiki still has many imperfections, the coverage of knowledge points is not comprehensive enough, and there are some pages whose quality needs to be modified. The OI Wiki team and the contributing friends are actively improving these content.
For the content to be improved, please refer to Issues and Iteration Plan of OI Wiki.
At the same time, OI Wiki originates from the community, advocating the intellectual freedom, and will never be commercialized in the future. We will always maintain its independent and freedom.
This project is currently deployed at oi-wiki.org using MkDocs.
We also maintain a list of mirror sites at status.oi-wiki.org. The contents and oi-wiki.org are the same.
Of course, it can also be deployed locally. (Requires Python 3)
Click to view the process of recorded with asciinema
If you encounter any problems, you can refer to F.A.Q. for more information.
git clone https://github.com/OI-wiki/OI-wiki.git --depth=1
cd OI-wiki
# Install mkdocs
pip install mkdocs
# Use our customized theme
chmod +x ./scripts/install_theme.sh && ./scripts/install_theme.sh
# Two ways(choose one is enough):
# 1. Run a local server, visit http://127.0.0.1:8000 to view the effect
mkdocs serve -v
# 2. Get a static page under the site folder
mkdocs build -v
# To obtain the description of the mkdocs command line tool (explains the meaning of commands and parameters), please use
mkdocs --help
We are now rendering MathJax on the server side. If you want to achieve a similar effect, you may refer to .travis.yml for more details. (Node.js required)
# The content of the mirror repository on Gitee is the same as the GitHub repository
git clone https://gitee.com/OI-wiki/OI-wiki.git
You can use the content of the gh-pages
branch
git clone https://gitee.com/OI-wiki/OI-wiki.git -b gh-pages
It may be more convenient to start an http server locally.
# If python3
python3 -m http.server
# If python2
python2 -m SimpleHTTPServer
# In some environments, you can’t find an executable file named python3/python2, so try running python to see if it works
See Docker deployment for details.
We always welcome you to write content for OI Wiki and share what you have learned with you.
The specific way to contribute is in How to Contribute page.
Unless otherwise specified, except for the code part of the project, we all use Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) plus the additional The Star And Thank Author License as our licenses.
In other words, you may share in a reasonable manner during the use but you must sign, share in the same way without additional restrictions. And in no way should it suggest the licensor endorse you or your use.
And you need to star the GitHub repository.
And if you want to reference this GitHub repository, you can use the following bibtex:
@misc{oiwiki,
author = {OI Wiki Team},
title = {OI Wiki},
year = {2016},
publisher = {GitHub},
journal = {GitHub Repository},
howpublished = {\url{https://github.com/OI-wiki/i18n}},
}
This project is inspired by CTF Wiki, and has referenced multiple materials during the writing process. We also want to show our gratitude here.
Thank you very much to our friends who worked together to improve OI Wiki and friends who donated to OI Wiki !!!
And special thanks to the friends from 24OI for their support!
Thanks for the support from Peking University Computing Association and Hulu!