You are on page 1of 2

Competitive Programming - Syllabus

Level-1:
 Getting Started
o CP Environment
o Adhoc Problems
 Data Structures
o Linear Data Structures
o Non-Linear Data Structures
o Sortings
 Problem-solving Paradigms
o Brute Force and Introduction to DP
o Greedy
o Binary Search
o Sliding Window
 Graphs
o Representation
o Graph traversal and basic algorithms
o Minimum Spanning tree
o Single-Source Shortest Path
 Mathematics
o Adhoc Problems
 Base Number Systems and Binary Exponentiation
 Long Arithmetic (BigInteger)
o Number Theory
 Modular Arithmetic
 Prime Numbers
 Divisors
 Geometry
o Points and Lines
o Geometric Shapes: triangles, circles, regular polygons
 String Processing
o Basic String Algorithms
Level-2
 Data Structures
o Disjoint-sets union
o Segment Trees
o Fenwick Trees
o Sparse Table
 Problem-solving Paradigms
o Dynamic Programming
o State-Space Search
o Meet-in-the-Middle
 Graphs
o All-Pairs Shortest Path
o Bellman-Ford
o Max Flow
o Bipartite Graphs
o DAGs
o Trees
o Eulerian Graph
 Mathematics
o Number Theory
o Combinatorics
 Pigeonhole Principle
 Fibonacci Numbers
 Binomial Coefficient
 Catalan Numbers
 Inclusion-Exclusion Principle
 Geometry
o 2D shapes
 Circles
 Triangles
 Quadrilaterals
o Polygons
o Line Sweep
 String Processing
o String Matching Algorithms
o Suffix trie
Level-3
 Problem-Solving Paradigms
o More on greedy
 Huffman Codes
 Bracket Matching
o DP Speed-ups and tricks
o Sliding Window
 Data Structures
o Sqrt Decomposition
o Balanced BST
o Randomized Heaps -Graphs
o Biconnected Components and Block-cut tree
o Centroid Decomposition
o Bridge Tree
o Minimum Cost Max Flow
o Minimum Path Cover
o Hungarian Algorithm
 Mathematics
o Combinatorics
 Burnside's Lemma
o Probability Theory
o Game Theory
 Decision trees and Min-max Strategy
 Sprague-Grundy Theorem
 Games on General Graphs
o Cycle Finding
o Numerical Methods
 Newton's Method
 Ruffini–Horner's method
o Others
 Canonical Form
 Factorial Number System
 String Processing
o Hashing
o Manacher's Algorithm
o Aho-Corasick
o Suffix Structures (tree/array/automaton)
 Geometry
o Maximum Triangle Area
 Rare Topics
 Composite Problems

You might also like