Skip to content

Sharif-ProgrammingContest/Advanced-Programming-Contests-Spring2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 

Repository files navigation

Course Objectives

The aim of this course is to familiarize students with advanced programming skills used in programming competitions such as ICPC. The prerequisite for this course is the Data Structures and Algorithms course.

Course Outline

  • Geometric Algorithms (2 sessions)
    • Basic Concepts
    • Geometric Operations
    • Convex Hull
    • Sample Geometric Problems
  • Graph Algorithms (2 sessions)
    • Largest Common Subtree and its Applications
    • Maximum Flow
  • Dynamic Programming (2 sessions)
    • Longest Increasing Subsequence
    • 2D Dynamic Programming (Edit Distance)
    • Interval Dynamic Programming (Optimal Matrix Chain Multiplication)
    • Tree Dynamic Programming (Calculating the Largest Weighted Independent Set on a Tree)
    • Exponential Dynamic Programming (Finding Hamiltonian Path in a Graph)
  • Linear Algebra (1 session)
    • Equations and Unknowns
    • Problem Solving with Matrix Multiplication
  • Number Theory (1 session)
    • GCD and Equation ax+by=c
    • Chinese Remainder Theorem
  • String Algorithms (2 sessions)
    • Trie
    • Suffix Array
    • Knuth-Morris-Pratt Algorithm
  • STL Library (1 session)
    • Containers
    • Iterators
    • Algorithms
  • Competitive Strategy (1 session)
    • General Strategies for Competitive Programming Contests
    • Stress Management
    • Time Management
    • Teamwork
    • Rules for Implementing Solutions with Complex Code

Evaluation

  • Practical Exercises

References

  • S. Halim, F. Halim, and S. Effendy. Competitive Programming 4. The new lower bound of programming contests in the 2020s. Lulu, 2020.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages