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.

Orient

About the contest

Format, divisions, promotion rules, scoring, allowed languages, and what each round actually looks like.

Read briefing →
Learn

Algorithms by division

What Bronze, Silver, Gold, and Platinum each test — ad-hoc, BFS/DFS, DP, segment trees, flow, and more.

Browse catalogue →
Tooling

C++ toolkit

The STL you actually use in contests: vector, set, map, priority_queue, bitset, plus fast I/O and template snippets.

Open toolkit →
Study

Past problems archive

Selected problems from recent seasons with the key idea, complexity target, and editorial pointer.

See archive →
Contest set

USACO 2024 December — full set

All 12 problems across Bronze/Silver/Gold/Platinum: statement, key idea, complexity target, reference C++.

Open December 2024 →
Contest set

USACO 2024 US Open — full set

All 12 problems from the 5-hour season finale; finalists from here get camp invitations.

Open US Open 2024 →
Contest set

USACO 2024 February — full set

All 12 problems from the February 2024 round, last regular before US Open.

Open February 2024 →
Contest set

USACO 2024 January — full set

All 12 problems across the 4 divisions from the January 2024 round.

Open January 2024 →
Contest set

USACO 2023 December — full set

All 12 problems across 4 divisions from the December 2023 round.

Open December 2023 →
Contest set

USACO 2023 US Open — full set

5-hour season finale: 12 problems including the recurring Pareidolia theme across Silver/Gold/Platinum.

Open US Open 2023 →
Contest set

USACO 2023 February — full set

All 12 problems including Hungry Cow (Bronze + Platinum), Cow-libi, Moo Route II, Watching Cowflix.

Open February 2023 →
Contest set

USACO 2023 January — full set

All 12 problems including Find & Replace (functional graph), Tractor Paths (binary lifting), Mana Collection (TSP).

Open January 2023 →
Contest set

USACO 2022 December — full set

12 problems across Bronze/Silver/Gold/Platinum from the December 2022 round.

Open December 2022 →
Contest set

USACO 2022 US Open — full set

5-hour season finale 2022: 12 problems across all four divisions.

Open US Open 2022 →
Contest set

USACO 2022 February — full set

12 problems across 4 divisions from the February 2022 round.

Open February 2022 →
Contest set

USACO 2022 January — full set

12 problems across 4 divisions from the January 2022 round.

Open January 2022 →
Contest set

USACO 2021 December — full set

12 problems across 4 divisions including Paired Up (Gold + Platinum) and HILO (Gold + Platinum).

Open December 2021 →
Contest set

USACO 2021 US Open — full set

5-hour finals 2021: 12 problems cpids 1131–1142 including the Acowdemia series and United Cows of FJ.

Open US Open 2021 →
Contest set

USACO 2021 February — full set

12 problems including Year of the Cow, Comfortable Cows, Stone Game, Counting Graphs.

Open February 2021 →
Contest set

USACO 2021 January — full set

12 problems cpids 1083–1094 including Uddered but not Herd and Dance Mooves (cross-division).

Open January 2021 →
Contest set

USACO 2020 December — full set

12 problems cpids 1059–1070 including Stuck in a Rut (cross-division), Cowntagion, Sleeping Cows.

Open December 2020 →
Contest set

USACO 2020 US Open — full set

5-hour finals: 12 problems COVID-themed (Social Distancing, Cowntact Tracing, Haircut, Favorite Colors, Sprinklers 2).

Open US Open 2020 →
Contest set

USACO 2020 February — full set

12 problems including Triangles, Swapity Swap, Clock Tree, Help Yourself, Delegation, Equilateral Triangles.

Open February 2020 →
Contest set

USACO 2020 January — full set

12 problems including Word Processor, Berry Picking, Time is Mooney, Falling Portals, Cave Paintings.

Open January 2020 →
Contest set

USACO 2019 December — full set

12 problems cpids 963–974: Cow Gymnastics, MooBuzz, Milk Visits (S+G), Greedy Pie Eaters, Bessie's Snow Cow, Tree Depth.

Open December 2019 →
Contest set

USACO 2019 US Open — full set

5-hour finals 2018-19: Bucket Brigade, Cow Evolution, Snakes, I Would Walk 500 Miles, Tree Boxes, Compound Escape, Valleys.

Open US Open 2019 →
Contest set

USACO 2019 February — full set

12 problems including Sleepy Cow Herding, Painting the Barn, Cow Land, Dishwashing, Cow Dating, Moorio Kart, Mowing Mischief.

Open February 2019 →
Contest set

USACO 2019 January — full set

12 problems including Shell Game, Sleepy Cow Sorting (all 4 divisions), Cow Poetry, Train Tracking 2, Redistricting.

Open January 2019 →
Contest set

USACO 2018 December — full set

12 problems including Mixing Milk, Convention, Fine Dining, Balance Beam, Sort It Out, Cow Gathering.

Open December 2018 →
Contest set

USACO 2018 US Open — full set

5-hour finals 2017-18: Team Tic Tac Toe, Out of Sorts (S+G+P), Lemonade Line, Talent Show, Train Tracking, Disruption.

Open US Open 2018 →
Contest set

USACO 2018 February — full set

12 problems (cpids 807–818): Teleportation, Hoofball, Rest Stops, Snow Boots (S+G), Directory Traversal, Slingshot, New Barns, Cow Gymnasts.

Open February 2018 →
Contest set

USACO 2018 January — full set

12 problems (cpids 783–794): Blocked Billboard II, Lifeguards (B/S/P), Rental Service, MooTube (S/G), Cow at Large (G/P), Stamp Painting, Sprinklers.

Open January 2018 →
Contest set

USACO 2017 December — full set

12 problems: Blocked Billboard, Bovine Shuffle, Milk Measurement, A Pie for a Pie, Barn Painting, Haybale Feast, Standing Out from the Herd, Push a Box, Greedy Gift Takers.

Open December 2017 →
Contest set

USACO 2017 US Open — full set

5-hour finals: Modern Art series, Bovine Genomics across all divisions, Switch Grass MST + reconstruction, COWBASIC matrix-exp interpreter.

Open US Open 2017 →
Contest set

USACO 2017 February — full set

12 problems cpids 711–722 — every problem titled "Why Did the Cow Cross the Road" I/II/III across the 4 divisions.

Open February 2017 →
Contest set

USACO 2017 January — full set

12 problems: Don't Be Last!, Hoof Paper Scissors (3 divisions), Cow Tipping, Cow Dance Show, Promotion Counting, Building a Tall Barn, Subsequence Reversal.

Open January 2017 →
Contest set

USACO 2016 December — full set

12 problems (cpids 663-674): Moocast (S+G), Cow Checklist, Lasers and Mirrors, Lots of Triangles, Robotic Cow Herd.

Open December 2016 →
Contest set

USACO 2016 US Open — full set

5-hour finals (cpids 639-650): Diamond Collector, Field Reduction, Closing the Farm, Splitting the Field, 248/262144, Landscaping.

Open US Open 2016 →
Contest set

USACO 2016 February — full set

12 problems: Milk Pails, Circular Barn, Load Balancing, Fenced In — each recurring across divisions.

Open February 2016 →
Contest set

USACO 2016 January — full set

12 problems (cpids 591-602): Angry Cows trilogy (B+S+G), Mowing the Field (B+P), Lights Out (G+P).

Open January 2016 →
Contest set

USACO 2015 December — full set

First-ever Platinum contest (cpids 567-578): Fence Painting, Speeding Ticket, Contaminated Milk, Switching on the Lights, High Card Wins, Breed Counting, Bessie's Dream, Max Flow, Counting Haybales.

Open December 2015 →
Contest set

USACO 2015 US Open — 3 divisions

Pre-Platinum 5h finals: Moocryption, Bessie Goes Moo (mod-7 residue counting), Trapped in the Haybales (B/S/G escalation), Palindromic Paths, Googol (interactive + bignum).

Open US Open 2015 →
Contest set

USACO 2015 February — 3 divisions

Pre-Platinum era. Censoring trio (stack → KMP → Aho–Corasick), Cow Hopscotch trio (15×15 → 100×100 → 750×750), Superbull (XOR MST), Fencing the Herd (CDQ online convex hull).

Open February 2015 →
Contest set

USACO 2015 January — 3 divisions

Pre-Platinum era. 10 problems: Cow Routing trilogy (B+S+G), Stampede sweep, Moovie Mooving bitmask DP, Grass Cownoisseur SCC.

Open January 2015 →
Practice

Mock contests

Original 3-problem sets in USACO style, one per division, with self-grading rubrics and time budgets.

Try a mock →
Plan

Six-month plan

June through US Open: weekly topics, problems to solve, mock cadence, and promotion targets.

Open calendar →
Library

Resources & references

USACO Guide, CP-Algorithms, Codeforces, Atcoder, books, and editorials worth bookmarking.

Browse links →

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