Past problems I'm working through

This page tracks USACO past problems I'm studying, in the order I'm getting to them. A linked row means I've solved or read it and written up what I learned. An unlinked row is on my queue.

Canonical source is usaco.org. Always read problem statements from the official site — I might paraphrase or misremember details here. Start at usaco.org/index.php?page=contests for the contest archive. The community-maintained USACO Guide has editorials for almost everything.
How I'm using this list. Find one problem at my current level, open the official PDF, give it an honest 60 minutes, then come back and write what I learned — even if I didn't fully solve it. Then read the editorial. The gap between my idea and the editorial is the actual lesson.

Write-ups I've finished

Each link below is my own notes on the problem. Problem statements and titles are paraphrased — confirm details on usaco.org before relying on them.

Season · RoundDivisionMy write-up
2024 DecemberBronzeBronze problem walkthrough
2024 DecemberSilverSilver problem walkthrough
2024 DecemberGoldGold problem walkthrough

My queue

Recent contest rounds I want to work through next. I haven't done these yet, so there are no notes here — open the official statements from usaco.org.

When I finish a write-up I'll add a row to the table above. If you're reading this and want to nudge me toward a specific problem, the GitHub repo for this site is the place to file an issue.

How a problem study session looks for me

  1. Read the official statement twice. The second pass, I write the input/output format and constraints in my own words.
  2. Identify the constraint bracket. n ≤ 20? n ≤ 10⁵? That alone narrows the algorithm family.
  3. Brainstorm 1–2 ideas on paper. No editor yet.
  4. Code my best idea. Test on samples, then a hand-crafted edge case.
  5. If WA/TLE, debug with prints or a brute checker. No random tweaks.
  6. Once accepted (or after ~60 min stuck), I read the editorial. Note what they did differently.
  7. Re-implement the editorial's approach without looking. That's where the learning sticks.
  8. Write it up here — explaining a solution forces me to actually understand it, and Future Me will thank Present Me.