- HashSets / HashMaps, memoization, look up tables
- Boolean HashMaps can often be done as a bitset if small enough range
- Iterators are often faster than loops
- Parallelization is usually a trap, there's an algorithm or pattern somewhere that should be used instead
- nom is great for parsing inputs
- Modulo lowest common multiple (lcm) when needing to maintain a divisor over a set of buckets
- 2022/day11
- A re-usable shortest path trait or something might be really useful for a lot of problems