usaco.org/index.php?page=viewproblem2&cpid=…, cpids 1011–1022).
Round metadata
| Contest | USACO 2020 February |
|---|---|
| Window | Feb 21–24, 2020 (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. Triangles — pick three fence posts forming a right triangle with legs axis-aligned; maximize area. O(N²) brute search.
2. Mad Scientist — convert string A into string B by reversing contiguous substrings; count the minimum number of reversals (count maximal blocks of mismatches).
3. Swapity Swap — apply two fixed reversal "shuffles" K times to a cow line; cycle decomposition (K up to 10⁹).
Silver · 3 problems
1. Swapity Swapity Swap — same shuffle but with N up to 10⁵ and K up to 10⁹: use cycle decomposition + modular indexing.
2. Triangles — Silver version with N up to 10⁵; sum of area over all valid right triangles using per-row/column prefix sums.
3. Clock Tree — clock values mod 12 on a tree; bipartite parity check tells you whether the puzzle is solvable.
Gold · 3 problems
1. Timeline — DAG longest path on event constraints (sj − si ≥ g); topological-order relaxation.
2. Help Yourself — sum of 2components over all 2N subsets of intervals; sweep + DP doubling.
3. Delegation — for each K, decide if a tree's edges can be partitioned into vertex-disjoint paths of length exactly K; greedy on rooted subtrees.
Platinum · 3 problems
1. Delegation — Platinum version: for each K answer whether the tree admits a partition into paths of length K (multiset greedy per subtree, harmonic sum bound).
2. Equilateral Triangles — count axis-aligned-Manhattan equilateral triangles among N grid points; rotate 45° + counting by pair distances.
3. Help Yourself — Platinum version: sum of f(S)K over subsets where f is the # connected components; sweep-line + polynomial DP in K.
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.