My USACO prep journal — Bronze first, then up.

I'm climbing USACO from Bronze toward Platinum. These pages are how I keep track: the algorithms each division leans on, the C++ STL idioms I want at my fingertips, a growing archive of past problems with what I learned from each, and the rough calendar I'm aiming for from December through US Open.

Open the study plan → What is USACO?
4 roundsDec · Jan · Feb · US Open
4 divisionsBronze → Platinum
4 / 5 hrDec–Feb 4 h · US Open 5 h (all divisions)
3–4 problemsper contest, IOI-style partial credit

What this site covers

Each module is a self-contained page you can read on its own. The study plan stitches them together into a week-by-week ramp through the four contest rounds.

Suggested reading order

  1. Get oriented. Read About the contest and look at one Bronze problem from the past problems page so you know what 4 hours of competitive programming feels like.
  2. Pick a language and lock it in. C++ is the default for almost all serious USACO climbers; the C++ toolkit page has the STL, template, and fast I/O you'll keep reusing.
  3. Study the division you're in. Each division on Techniques lists the handful of topics that actually decide problems. Bronze is search + ad-hoc; Silver is BFS/DFS + binary search + prefix sums.
  4. Solve, then read the editorial. Pick problems from past problems, give each one an honest 60-minute attempt, then read the official editorial. The gap between your idea and theirs is where the learning is.
  5. Sit a full mock once a month. Use one of the mock contests under contest conditions: closed tab, 4-hour timer, no help. Score with the rubric on the same page.
  6. Ride the season. Follow the six-month plan so you peak right around the December round and stay sharp through US Open.

How a USACO round actually works

The window. Each round opens for ~4 days. Once you click "start" your personal timer begins — 4 hours for Dec/Jan/Feb, 5 hours for US Open, the same length across all four divisions.
3–4 problems, IOI-style partial credit. Each problem has ~10–25 hidden test cases. You earn partial credit per test case passed. Full score on a problem is 1000 (so contest max is 3000 or 4000 depending on problem count).
Communication rule. Don't talk about a problem with anyone until the round window closes. Don't look at editorials or read other people's code. The honor system is the only thing keeping the contest fair.
Promotion (two paths). In-contest: reach the director-set perfect-score threshold and you're promoted immediately during the contest, free to attempt the next division's problems in the same window. Post-contest: if your total contest score clears that round's published cutoff, you move up starting next round (and you can't go back down). Historically cutoffs sit at multiples of 50 in the 600–850 range, set per-contest by directors — Dec 2024 Bronze was 700, for example.

Things strong USACO competitors do differently