Commit Graph
21 Commits
Author SHA1 Message Date
Russell Champoux d8a67cf515 Add Day 12 solution (ft. an unused DLX library)
Turns out two simple heuristics solve the whole problem in 4ms:
1. Does the area fit? No → invalid
2. Are there enough 3x3 spaces for all presents? Yes → valid

But hey, at least we learned how to use Dancing Links for
a problem that didn't need it. The dlx crate thanks us for
the download stats.
2026-01-05 16:13:55 -05:00
RussellChamp ac4208f893 Update benchmarks - run on desktop gaming rig (Linux)
Updated benchmark results for all days. New benchmarks were run on desktop gaming rig running Linux. Total runtime improved from 24.88ms to 9.24ms.
2026-01-02 23:34:06 +00:00
Russell Champoux 3cfad8af27 Add Day 10 and Day 11 solutions
Day 10: Indicator light configuration with bitmask brute-force
Day 11: Graph path counting with memoized DFS
- Part 1: Count all paths from 'you' to 'out'
- Part 2: Count paths from 'svr' to 'out' visiting both 'dac' and 'fft'
2025-12-12 18:08:14 -05:00
Russell Champoux cb01d29665 Add Day 9 Part 1 solution - find largest rectangle from red tiles 2025-12-11 16:50:38 -05:00
Russell Champoux b067baac3d Optimize Days 1-8: 41% faster overall (39ms → 23ms) 2025-12-09 16:16:10 -05:00
Russell Champoux 6ff1349679 ⚡ Day 8: 2.2x FASTER with rayon parallel sorting! From 33ms to 15ms 💪 2025-12-09 16:04:45 -05:00
Russell Champoux ca302578c9 Solve Day 7: Tachyon beam splits and quantum timelines 2025-12-09 15:57:20 -05:00
Russell Champoux e3fe456616 Solve Day 6 & 8, refactor Day 6 with itertools 2025-12-08 14:15:29 -05:00
Russell Champoux 5e0660b095 🚀 Day 2: MASSIVE 10x speedup & 99% memory reduction! Iterator magic FTW! 2025-12-05 13:40:49 -05:00
Russell Champoux f95ecc2fe1 Solve Day 5: Cafeteria (fresh ingredient ranges) 2025-12-05 12:10:20 -05:00
Russell Champoux 6f492ae3a1 Format code with cargo fmt 2025-12-05 11:53:54 -05:00
Russell Champoux d3bc3493ee Fix clippy warning: collapse nested if in Day 4 2025-12-05 11:53:03 -05:00
Russell Champoux cf3a3f8bfe Update README year to 2025 2025-12-05 11:50:51 -05:00
Russell Champoux 491f89f523 Optimize Day 2 solution: 41x faster Part 1, 18x faster Part 2
- Changed from brute-force iteration to generating invalid numbers directly
- Part 1: 45.0ms → 1.1ms
- Part 2: 69.6ms → 3.8ms
- Total benchmark time: 119.38ms → 9.68ms
2025-12-05 11:49:44 -05:00
Russell Champoux 702221e78f Refactor day 4 to use Cell enum 2025-12-05 09:28:58 -05:00
Russell Champoux 52c3f31f54 Solve Day 4: Printing Department 2025-12-05 09:25:38 -05:00
Russell Champoux d650dce61b Refactor days 1-2, optimize day 3 part 1 with suffix max 2025-12-04 17:34:11 -05:00
Russell Champoux 0b5c8fa10f Solve Day 3: Lobby 2025-12-04 17:19:18 -05:00
Russell Champoux a402156786 Solve Day 2: Gift Shop 2025-12-04 17:11:46 -05:00
Russell Champoux d803be0b01 Solve Day 1: Secret Entrance 2025-12-04 17:04:14 -05:00
RussellChamp cfeb0828fd Initial commit 2025-12-04 16:22:10 -05:00