AOC2025

misc
Sharing videos of me solving Advent of Code 2025 puzzles. (Spoilers)
Published

December 1, 2025

Day 1: Here is day 1. (dialog). I knew there was a nice floor-y way to do part two but between gabbling trying to verbalize my thought process and the inherent de-buff that being on video gives, I resorted to checking a range instead and immediately felt a little silly. Ah well - so it goes :)

Day 2: I recorded my solve attempt again (here, long and boring). I got bogged down in an optimization for part a that seemed like a good idea (and WAS a good idea on the sample data) but that knocked me off the rails a bit haha, code got worse and worse! I’d normally go on a walk, maybe if this happens again I’ll pause the recording rather than trying to keep typing. Still, ended up with basically the same solutions as everyone else here, albeit with a small trick for part 1.

Day 3: Much smoother, My dialog and video. Tea and slowing down for the win!

Day 4: My dialog, video (both short today)

Day 5: Getting into territory where diagramming helps, thinking hard helps, and thinking about memory + speed starts to come up :slight_smile: My video. A little cheeky that ||the sample has ids sorted while the main input doesn’t! Good reason to look at your data :slight_smile: ||

Day 6, 7 and 8 got batched together since I didn’t want to code on the weekend and had other business on Monday.

Day 9: Part 1 was easy, part 2 I fell for the temptation of trying to make the ‘grid’ for the full-size input - which turns out to be way too big to fit in memory! Solveit had an excellent suggestion to map coords to a much smaller space (since there are only ~500 so most rows + cols can be removed without changing the result) - as long as you then map back to OG coords for area this works and is reasonably fast. solution. Viz’ing the grid in this compressed space shows the genius of the problem setters.

Day 10. Dialog. Part 2 I caved and just used the milp library. I liked my idea for part 1 to use a graph with a node per possible light state and then get the shortest path :)

Day 11. Dialog. More graph stuff. Was pleased to figure out I should look at the substeps for part 2, which then revealed a simplification we could make.

And Day 12! [Dialog]. A fun one to end on, and a good reminder to look at your data :D Here’s a video covering days 10, 11 and 12. Thanks to Eric for setting all of these!