A talk on some problems from AoC 2023. slides recording
When faced with hard problems, computer scientists tend to think of ways to generalize problems. Rather than solve just one instance, we prefer to solve all instances of some general form. Thus, we can make a problem even more complex as we consider edge cases, scaling behavior, memory efficiency, and so on. However, sometimes simpler is better. With small or heavily constrained inputs, efficiency may not be necessary. Solving the general case may not be necessary. If you only need to solve one instance, that input may simplify the approach greatly. The potential for simple solutions for difficult problems is especially present in programming puzzles such as Advent of Code, where the problem and inputs are carefully crafted to allow for the challenging problems to be solved with a bound on creativity instead of computation. In this talk, we explore some problems from Advent of Code 2023 and the techniques that make these problems simpler than they first appear.