Resources & references
Curated, low-noise links. Bookmark these; ignore most of the algorithmic-prep TikTok and YouTube ecosystem.
Official
- usaco.org — Contest registration, past problems, official editorials, scoring history.
- Contest archive — Every problem since the contest started, organized by season and division.
- Official resources page — USACO's own list of recommended training materials.
Training guides
- USACO Guide (usaco.guide) — The single best curriculum for USACO. Organized by division, every topic has problems sorted by difficulty with personal-progress tracking.
- CP-Algorithms — Encyclopedic reference for algorithms and data structures. Read after you've seen a topic, not as a first introduction.
- Codeforces "EDU" courses — Free interactive courses on segment trees, suffix arrays, etc. Quality is excellent.
- AtCoder Educational DP Contest — 26 problems that cover every flavor of DP you'll meet at Gold. Indispensable.
Other judges to practice on
- Codeforces — Live weekly contests, massive problem archive, real-time rating system. Solve Div 2 A/B/C for Silver/Gold-equivalent practice.
- AtCoder — Beautiful, well-tested problems. ABC (Beginner) contests roughly map A–D = Bronze–Silver, E–F = Gold, G+ = Platinum.
- Library Checker — Verify your implementations of standard algorithms (segment tree, suffix array, max flow) against tests.
- oj.uz — IOI / JOI / CEOI past problems. Roughly Gold to Platinum level.
Books
- Competitive Programmer's Handbook — Antti Laaksonen. Free PDF. The single best book to read cover-to-cover at Silver/Gold.
- Competitive Programming 4 — Steven & Felix Halim. Comprehensive (two volumes); reference rather than read-front-to-back.
- Introduction to Algorithms — Cormen, Leiserson, Rivest, Stein (CLRS). Heavy theory book; useful as a deep reference, not as contest prep.
Editorials & commentary
- USACO Guide solutions — Community-written editorials for almost every USACO problem, often with cleaner code than the official ones.
- Codeforces blogs — Search for "USACO XXXX YYYY editorial" and you'll find post-mortems from top scorers.
- Errichto on YouTube — Clear contest walkthroughs, mostly Codeforces but conceptually transferrable.
- William Lin — Former US IOI gold medalist, lots of USACO-specific content.
Tools you actually need
- g++ with
-std=c++17 -O2 -Wall -Wextra. On Mac:brew install gcc(Apple's clang works for most things, but Mac'sg++is symlinked to clang by default — for true GCC use the brew version). - VS Code with the C/C++ extension. Set up a build task that compiles and runs
sol.cpp < in.txt. - A stopwatch. Honest time tracking on every problem is the single highest-ROI habit.
- A notebook (paper or digital) for "patterns I've seen and what they were." Reviewing this monthly is how Gold solvers level up.
Vocabulary cheat sheet
| Term | What it means |
|---|---|
| AC | Accepted (all test cases passed) |
| WA | Wrong Answer |
| TLE | Time Limit Exceeded |
| MLE | Memory Limit Exceeded |
| RE | Runtime Error (segfault, divide-by-zero, out-of-bounds) |
| OE | Output Limit Exceeded (you printed too much) |
| CE | Compile Error |
| DP | Dynamic programming |
| DSU | Disjoint set union (= Union-Find) |
| BIT | Binary indexed tree (= Fenwick tree) |
| LCA | Lowest common ancestor (in a tree) |
| MST | Minimum spanning tree |
| SCC | Strongly connected component |
| HLD | Heavy-light decomposition |
| CHT | Convex hull trick |
| FFT/NTT | Fast Fourier / Number-Theoretic Transform |