USACO Tutoring

From Bronze to Silver.
Structured, modern, contest-ready.

I run a weekly program built around the patterns USACO commonly tests, with teaching sessions, timed problem sets, and review. Curriculum is tuned to recent contests (2024-2026) and real promotion gates.

How I run it

Teaching session

60-90 min weekly

One concept, one guided problem, one you-drive variant. I focus on the idea and then you implement it.

Timed set

45-75 min weekly

2-3 problems under strict time. Builds contest stamina and forces clean, fast code.

Review session

30-45 min weekly

Debugging, complexity, edge cases. I fix what broke and tighten what worked.

Promotion gates

  • Bronze gate: Solve all Bronze #1, #2, and #3 under time.
  • Silver gate: Solve all Silver #1, #2, and #3 under time.

Courses

Bronze to Silver track

Bronze has shifted toward clean simulation, careful casework, and counting/prefix ideas (e.g. Chip Exchange, COW Splits, Photoshoot in 2026). I build the habits that make all of Bronze #1, #2, and #3 reliably solvable.

8-10 weeks · C++ / Java / Python

Bronze curriculum (week by week)

Week B0

Setup + contest hygiene

Concepts: I/O speed, reading constraints, using long long. Write brute force first, then tighten. Testing discipline: small cases, random tests, boundaries.

Drills: Implement sort, count freq, prefix sum, two loops with constraints check. Debugging: off-by-one, indexing, overflow.

Week B1

Simulation & state tracking

Concepts: Step-by-step simulation with variables/invariants. Do not be clever; implement exactly the process described. Pattern: maintain state, update in loop, assert constraints.

Practice: 2026 Contest 1 Bronze P1: Chip Exchange; 2024 Dec Bronze P2: Farmer John's Cheese Block.

Tutor focus: Students narrate state transitions out loud.

Week B2

Counting, frequency arrays, small-constraints brute force

Concepts: Frequency arrays/maps. O(N²) is fine if N ≤ 2000-ish, not if N = 2e5. Build counts, then answer queries.

Practice: Bronze counting problems + custom drills: count pairs with condition, count equalities after transforming.

Week B3

Prefix sums (1D) & split the array

Concepts: Prefix sum array, range sum in O(1). Split points: count ways where left and right conditions hold. Avoid recomputing sums in loops.

Practice: 2026 Contest 1 Bronze P2: COW Splits; 2025 US Open Bronze P2: More Cow Photos.

Tutor focus: What you need to know about the prefix to answer quickly.

Week B4

Sorting + greedy-by-order (Bronze)

Concepts: Sort pairs, sort by key. Greedy that is obvious after sorting (do smallest first, group equal items).

Practice: 2024 Dec Bronze P1: Roundabout Rounding; timed set: 2 older Bronze sorting problems from USACO Guide.

Week B5

Strings & pattern scanning

Concepts: Scan once, count transitions, segments, runs. Build answer from local patterns. Pitfalls: substring indices, inclusive/exclusive.

Practice: 2025 US Open Bronze P1: Hoof Paper Scissors Minus One; 2025 US Open Bronze P3: It's Mooin' Time III.

Week B6

Hidden math Bronze: parity, modular thinking

Concepts: Parity (even/odd), modular arithmetic basics. When brute force works vs doesn't. Translating English constraints into code checks.

Practice: Mix of USACO Guide Bronze math/ad hoc buckets.

Week B7

Multi-case casework & edge-case mastery

Concepts: Break into exhaustive cases without overlap. Proving you covered all cases. Edge-case checklist: N=1, all equal, strictly increasing, duplicates, large values.

Practice: 2026 Contest 1 Bronze P3: Photoshoot; review set of 3 earlier Bronze #3s.

Weeks B8-B9

Full contest simulations + promotion prep

Solve full recent Bronze contests under time, then analyze mistakes.

Suggested mocks: 2026 Contest 1 Bronze (Chip Exchange / COW Splits / Photoshoot); 2024 Dec Bronze (Roundabout Rounding / Cheese Block / It's Mooin' Time); 2026 Contest 2 Bronze (It's Mooin' Time IV / Moo Hunt / Purchasing Milk).

Silver track

Modern Silver is pattern-driven: prefix sums + sliding window, binary search on answer, greedy, BFS/DFS flood fill, coordinate compression, interval logic, and implementation under pressure (e.g. 2026 Contest 1 Silver: Lineup Queries, Mooclear Reactor, Sliding Window Summation).

10-12+ weeks · C++ / Java / Python

Silver curriculum (week by week)

Week S0

Silver foundations: complexity + data structures

Concepts: Big-O reality: N up to 2e5 means ~O(N log N) or O(N). Arrays vs maps; sets; sorting pairs; coordinate compression idea. Writing helper functions cleanly.

Drill: Convert brute force to prefix sum to two pointers.

Week S1

Prefix sums (2D / multiple arrays) + range counting

Concepts: Multiple prefix arrays for categories. Difference array for range increments. Query many times: precompute.

Practice: 2026 Contest 1 Silver P1: Lineup Queries; 2024 Dec Silver P2: Deforestation.

Week S2

Sliding window / two pointers

Concepts: Maintain window invariant (sum ≤ K, distinct ≤ K). Two-pointer proofs: why left pointer only moves forward. Prefix sums + multiset/Counter for counts.

Practice: 2026 Contest 1 Silver P3: Sliding Window Summation; additional two pointers from USACO Guide Silver.

Week S3

Binary search on answer (decision problems)

Concepts: Turn optimization into is X possible? Monotonicity as the core requirement. Write check(x) cleanly; avoid off-by-one.

Practice: Typical Silver min max / largest minimum style problems (USACO Guide).

Week S4

Greedy + sorting (Silver-level proofs)

Concepts: Sorting by the right key. Exchange argument intuition. Priority queues for take best available.

Practice: 2026 Contest 2 Silver P2: Declining Invitations; 2025 US Open Silver P2: Compatible Pairs.

Week S5

Graph traversal: BFS/DFS + flood fill

Concepts: Adjacency lists, visited arrays. Components, shortest path in unweighted graphs (BFS). Grid flood fill patterns.

Practice: USACO Guide Silver graph/flood fill set; (optional) 2025 US Open Silver P3: Ski Slope.

Week S6

Intervals, coordinate compression, sweep line

Concepts: Sort endpoints, sweep with events. Coordinate compression for large coordinates. Difference array + prefix to rebuild counts.

Practice: 2024 Dec Silver P3: 2D Conveyor Belt.

Week S7

Implementation pressure week

Concepts: Handling constraints + corner cases + indexing. Building robust helpers and testing quickly. Silver traps: inclusive ranges, duplicates, 1-index vs 0-index, overflow.

Practice: 2026 Contest 2 Silver P3: Farmer John Loves Rotations; 2026 Contest 2 Silver P1: Cow-libi 2.

Weeks S8-S10

Full Silver mocks + targeted patching

Mock contests: 2026 Contest 1 Silver; 2026 Contest 2 Silver; 2024 Dec Silver; 2025 US Open Silver.

Patch plan: Missing #1s: drill prefix sums and sorting. Missing #2s: two pointers and binary search. Missing #3s: implementation, graphs, intervals, compression.

Concept to problem references

Bronze core patterns

  • Simulation / invariants: Chip Exchange, Cheese Block
  • Prefix / splits / counting: COW Splits, More Cow Photos
  • Casework / edge cases: Photoshoot

Silver core patterns

  • Prefix sums / multi-query: Lineup Queries, Deforestation
  • Sliding window / two pointers: Sliding Window Summation
  • Greedy + ordering: Declining Invitations, Compatible Pairs
  • Implementation-heavy: 2D Conveyor Belt, FJ Loves Rotations

Ready to level up?

I have tutored 20+ students from Bronze to Platinum. If you are serious about improving and want a structured path tied to real contests, reach out.

Email me to get started