Comments or suggestions should go to [email protected].
In competitive programming contests, one must solve well-defined problems by writing computer programs under specified limits or constraints. Typically, the most popular language is C++, followed by Java and Python.
Start learning C++ simply by searching up a tutorial such as this. No prior experience is needed! If you know some other language such as Java or Python, I recommend you switch to C++ ASAP. Codefights is a good way to practice syntax. This link is helpful.
Attempt some USACO Bronze problems. Assuming you know how the input / output works, you should soon be able to advance to silver. After that, you can start doing past USACO silver problems as well as the USACO training pages. Also, start doing contests! AtCoder Beginner Contests are recommended.
Check out the rest of this compilation! If you have done well in math contests, then it shouldn't be too hard to pick up competitive programming as well.
- Do as many contests as possible.
- Make sure to upsolve after the contest ends!
- Here is an example of the contests I consider doing.
- Work through past problems.
- Use the tags to learn new topics as necessary.
- see implementation / USACO categories
- A2OJ
- Problem Topics (Morass)
Obviously, there are many resources which already exist. However, most of them were either too long, or lacking in some aspect. Furthermore, none of them focused specifically on USACO contests. Therefore, I decided to create a personal collection which I could easily refer to during CodeForces contests or ahead of USACO contests.
If you want to add something useful or correct an error, please email me at [email protected]. It would be highly appreciated!