Skip to main content


Association for Computing Machinery at the University of South Carolina

Codeathon Prep


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. And lastly to have fun.