Round metadata
| Contest | USACO 2021 February |
|---|---|
| Window | Roughly Feb 26 – Mar 1, 2021 (4-day window, single 4-hour personal timer) |
| Length per division | 4 hours (Dec/Jan/Feb format; US Open is the 5-hour round) |
| Problems per division | 3 |
| Total problems | 12 (Bronze 1–3, Silver 1–3, Gold 1–3, Platinum 1–3) |
| Scoring | IOI-style partial credit, 1000 points per problem, 3000 max per division |
| Allowed languages | C, C++11, C++17, Java, Python 2.7, Python 3.6 (C++17 is the default for serious climbers) |
| Promotion cutoffs | Set per-contest by USACO; check the results page for exact thresholds. |
The contest at a glance
Bronze · 3 problems
1. Year of the Cow — chain zodiac-cycle relationships to compute the age difference between two cows (simulation on a 12-cycle).
2. Comfortable Cows — add cows one by one to a grid; after each, count cows with exactly three orthogonal neighbors.
3. Clockwise Fence — given a closed N/E/S/W walk, decide whether it traces its enclosed region clockwise or counter-clockwise (signed area).
Silver · 3 problems
1. Comfortable Cows — Silver upgrade: keep adding "stabilising" cows so none has exactly three neighbours; report the cumulative count after each step (flood-fill propagation).
2. Year of the Cow — visit N ancestors using at most K time-portal jumps of size 12 years; minimise total years travelled (greedy on gap savings).
3. Just Green Enough — count rectangles whose minimum value is exactly 100 (inclusion–exclusion: ≥100 minus ≥101, both via histogram counting).
Gold · 3 problems
1. Stone Game — divisibility-chain take-away game; count Bessie's winning first moves (Sprague–Grundy on (pile, last-move) states).
2. Modern Art 3 — minimum number of interval paint strokes to reproduce a target array of colours (interval DP).
3. Count the Cows — count cows in a Sierpinski-style 3-adic fractal on a diagonal segment up to 1018 (digit DP in base 3).
Platinum · 3 problems
1. No Time to Dry — minimum brush strokes to paint a query subarray, given you can't lay lighter over darker (segment tree of distinct colours by next-occurrence).
2. Minimizing Edges — rebuild G with fewest edges that preserves the parity-reachability function fG(a, b) (BFS-bipartition + cycle parity classes).
3. Counting Graphs — count graphs G' with the same fG(a, b) function modulo 109+7 (combinatorics on BFS layers).
How to use this set
- Pick your division. Open the full division page and read the three statements before writing any code.
- Solve P1 first, P2 if time, P3 only if you're cruising. February problem 1s are usually the cheapest points.
- Time-box. 4 hours total. Don't spend more than ~90 minutes on a single problem without a working subtask submission.
- Compare to the reference C++. Each problem on the division page has a ~30–50 line reference solution. If yours is much longer, ask why.
- Verify with the editorial. Official editorials are linked from each problem page on usaco.org.