Resources: Competitive Programming
Authors: Benjamin Qi, Neo Wang
Helpful links specifically for competitive programming.
Lists
Within This Guide
These resources are frequently referenced within this guide.
- Competitive Programmer's Handbook (CPH) - Antti Laaksonen
- The CSES problemset (now at 300 problems) is quite good!
- No official tutorials, but the following links might be helpful if you're stuck.
 
 - Guide to Competitive Programming is a paid book based off CPH.
 
 - Principles of Algorithmic Problem Solving - Johan Sannemo
- practice problems from Kattis
 
 - Competitive Programming Book - Steven Halim, Felix Halim
- Competitive Programming 2 is freely available but old.
 - Competitive Programming 4 is the latest edition of the book (with significant additions) but costs money.
 
 
Books
Excluding those mentioned above.
Competitive Programming
- CS Guide - Samuel Hsiang, Alexander Wei, Yang Liu
 - Programming Challenges - Steven Skiena, Miguel Revilla
 - Looking for a Challenge
- written by a group of authors associated with the Polish Olympiads
 
 - Cracking the Coding Interview
- good book specifically for interviews
 
 
General Purpose Algorithms Books
See the USACO Resources Page.
Courses
- Competitive Programming Course - Bjarki Ágúst Guðmundsson
- practice problems from Kattis
 
 - Carnegie-Mellon ICPC Course - Danny Sleator
- topic-specific contests in CF group
 
 - VPlanet - Riya Arora
- courses for various levels
 
 - Codeforces Edu - ITMO University
- intermediate to advanced data structures and algorithms
 
 
Implementations
- KTH ICPC Team Reference (KACTL)
- ICPC book
 
 - USACO Github - Benjamin Qi
- ICPC book
 - past USACO solutions
 
 - ekzlib - Eric Zhang
- (advanced) implementations
 
 
YouTube Channels
Other Resources
- VisuAlgo
- Animated algorithm visualizer
 
 - Topcoder Data Science Tutorials
- many, format is not always great
 
 
Module Progress:
Join the USACO Forum!
Stuck on a problem, or don't understand a module? Join the USACO Forum and get help from other competitive programmers!