Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 1.31 KB

TYIL.md

File metadata and controls

53 lines (38 loc) · 1.31 KB

This Year I Learned

Day 1

There can be edge cases even on day 1

Day 4

Got some practice with the mutable arrays boilerplate

Day 6

TODO: check how the quadratic formula was derived (the solution still uses a direct enumeration)

Day 8

The quick lcm bid worked, but only because the input allowed it. TYIL: try the quick and easy solution before going on the full-fledged on (which would have been the Chinese remainder theorem)

Day 10

TODO: what are winding numbers?

Day 11

  • it's worth considering whether a problem can be decomposed into its constituent dimensions (rows and columns in this case)
  • "symbolic representations win"

Day 12

Started out with a very fun logic programming-style solution, which helped a lot with debugging, but was too memory-hungry, so ultimately it had to be dropped. Caching worked because the ends of the lists the "shared sub-problems".

TODO: recreate the original implementation

Day 17

Implemented Dijkstra search from scratch, better late than never

Day 18

TODO: shoelace + pick's

Day 20

Looking at the input is as important as looking at the problem description

Day 21

  • TODO: deriving the quadratic formula
  • TODO: implement Hashlife

Day 22

Lack of sleep makes you dumber

Day 24

z3 + SBV (to a degree)

Day 25

put it in graphviz