Competitive Programming Roadmap
Mathematics for Competitive Programming
Learning Path
Follow these concepts in order to master this topic.
1
Mathematical Thinking2
Divisibility3
Prime Numbers4
Prime Factorization5
Sieve of Eratosthenes6
Linear Sieve7
Greatest Common Divisor (GCD)8
Least Common Multiple9
Euclidean Algorithm10
Extended Euclidean Algorithm11
Modular Arithmetic12
Fast Modular Exponentiation13
Modular Inverse14
Euler's Totient Function15
Fermat's Little Theorem16
Chinese Remainder Theorem (Introduction)17
Permutations18
Combinations19
Binomial Coefficients20
Pascal's Triangle21
Inclusion-Exclusion Principle22
Pigeonhole Principle23
Catalan Numbers24
Matrix Exponentiation25
Fibonacci Optimization26
Mathematicals Problem Solving TechniquesDocumentation
Official documentation and references.
Video Courses
Recommended free video courses.
Practice Websites
Practice what you've learned.
Projects
Apply what you've learned by building real projects.
Implement a Complete Number Theory Library
IntermediateSolve 50 Math-Based Competitive Programming Problems
IntermediateCreate a Modular Arithmetic Utility Library
AdvancedTools
Recommended tools for this topic.