## Codeathon Prep

* — Discord*

Various Authors

We will be having a small, interactive event, where all questions and additions are encouraged, to prepare for problems that may come up in a competition as such. The talk will be structured such like:

- Data Structures
- Arrays
- Trees(Key-Value structures)
- Lists
- Graphs

- Naive Solutions
- First solve the problem, then apply a technique
- Categorize the problem

- Techniques
- Greedy
- Sometimes doing what is locally optimal, provides a correct solution
- In cases like spanning trees, minimizing at every step gives an optimal solution

- Dynamic
- If you find that you are computing similar results over and over, sometimes it's best to try and save those steps and reuse those results

- Divide and Conquer
- If the problem can be split into smaller problems, it may be worth breaking the problem into smaller ones

- Intuition
- Sometimes problems can be tricky, and you may need to remember some result from some previous class
- In the case where the problem is very straightforward, but the parameters are very large, it can be useful to try this
- One case is summing from 1..n, there's a famous summation formula for this.

- Greedy