usaco.org/index.php?page=viewproblem2&cpid=…
(cpids 735–746). Note: the Gold division ran with two scored problems — one of the originally
planned Gold problems was revoked mid-contest because an algorithmic flaw invalidated the intended solution.
Round metadata
| Contest | USACO 2017 US Open |
|---|---|
| Window | 4-day contest window in spring 2017 |
| Length per division | 5 hours (US Open is the long finals round; the Dec/Jan/Feb regular-season rounds are 4 hours) |
| Significance | Final contest of the season — results plus regular-season scores determine invitations to the USACO summer training camp (USACO Camp / "Open Camp") |
| Problems per division | 3 in Bronze, Silver, Platinum — 2 in Gold after a problem was revoked mid-contest |
| Total scored problems | 11 |
| Scoring | IOI-style partial credit, 1000 points per problem |
| Allowed languages | C, C++11, Java, Python 2.7, Python 3 |
| Promotion cutoff | Competitors who scored at least 750 in a division were automatically promoted to the next level for subsequent contests |
The contest at a glance
Bronze · 3 problems
1. The Lost Cow — simulate a zigzag search of doubling step lengths until the searcher passes the target.
2. Bovine Genomics — count positions where a single column perfectly separates spotty cows from plain cows.
3. Modern Art — how many of the 9 visible colors could have been painted first on an N×N canvas of overlapping rectangles.
Silver · 3 problems
1. Paired Up — minimum total milking time when pairing cows; greedy two-pointer on sorted outputs (the "M up to 109" version).
2. Bovine Genomics — count triples of positions whose combined characters perfectly separate the two groups.
3. Where's Bessie? — enumerate all rectangular PCLs in a 26-color grid; flood-fill checks per rectangle.
Gold · 2 scored problems
1. Bovine Genomics — smallest set of positions that distinguishes spotty from plain cows; randomized / hash-set probing.
2. Modern Art 2 — 1D layered intervals; decide if a target coloring is achievable and find the minimum number of paint rounds.
A third Gold problem was withdrawn mid-contest after an algorithmic flaw was identified.
Platinum · 3 problems
1. Modern Art — for each color, prove via bounding boxes whether it could be the bottom-most layer; sweep + 2D checks.
2. Switch Grass — dynamic min-edge-between-different-colors on a graph after recolor updates; MST + small-label per-node multiset.
3. COWBASIC — interpret a toy language with nested MOO loops; matrix exponentiation over the assignment vector.
How to use this set
- Pick your division. Open the full division page and read all the statements before writing any code.
- Solve P1 first, P2 if time, P3 only if you're cruising. US Open problem 1s are usually still cheap; the 5-hour budget is so you can finish P2 cleanly.
- Time-box. 5 hours total. Don't spend more than ~120 minutes on a single problem without a working subtask submission.
- Compare to the reference C++. Each problem on the division page has a short reference solution; if yours is much longer, ask why.
- Verify with the editorial. Official editorials are linked from each problem page on usaco.org.