Skip to main content

ACM@USC

Association for Computing Machinery at the University of South Carolina

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