Bronze to Platinum, one problem at a time.

A working roadmap for the USA Computing Olympiad: the algorithms each division actually tests, the C++ STL idioms you'll lean on, every past problem catalogued, and a calendar that lines up with the four contest rounds from December through US Open.

Open the study plan → What is USACO?
4 roundsDec · Jan · Feb · US Open
4 divisionsBronze → Platinum
3–5 hrcontest window
3 problemsper contest, ACM-style

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 (Friday through Monday). Once you click "start" your personal timer (3–5 hours, varies by division) begins. You can choose any 4-hour block inside the window.
Three problems, all-or-nothing test cases. Each problem has ~10–15 hidden test cases. You get partial credit per test case passed. Full score on a problem is 1000.
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. Score high enough on a round and you're bumped to the next division for the next round (and you can't go back down). The bar shifts slightly each year — typically ~750/3000 promotes from Bronze and Silver, and full or near-full score promotes from Gold.

Things strong USACO competitors do differently