Competitive Programming Syllabus
Beginner
Topic Details
1
i) How Online Judges & online contests work
Introduction to Competitive ii) Explanation of different verdicts
Programming iii) How to solve a problem (Live Demo)
iv) Introduction to team contests, what is ICPC
i) Binary Number System
Operators & Complexity
ii) Logical and Bitwise Operators and their application in CP
Analysis
iii) Introduction to Time & Memory Complexity Analysis
i) What are Subarray, Substring, Subsequence,
Palindrome,
Arrays and Strings
Longest Palindromic Substring, Anagram etc.
ii) Relevant Problem Solving
4
i) Intro to function and Recursive functions.
Function
ii) Recursive function applications
Data Structures and C++ i) Intro to Basic Data Structure (Stack/Queue/Vector etc)
STL ii) Brief discussion on application of various STL features.
6
Searching Techniques Binary Search and applications
i) Insertion Sort, Counting Sort, Bubble Sort
Various Sorting Algorithms
ii) Merge Sort
i) Divisibility and Divison Algorithm
ii) GCD and LCM
iii) Prime numbers and composite numbers
Number Theory iv) Divisors of a number and Primality Testing
v) Sieve of Eratosthenes
vi) Number of Divisors (using prime factorization)
vii) Number of Divisors and sum of Divisors (using Sieve)
9
i) Identities in modular arithmetic.
Modular Arithmetic
ii) Modular exponentiation (bigmod) and it's application.
10
Greedy Technique Introduction to greedy technique
11
Dynamic Programming Intro to DP
12
Intermediate
Topic Details
1
i) Asymptotic complexity and Big-O analysis
Course Introduction,
ii) Scenario based complexity analysis
Complexity Analysis and
iii) Usage of Vector over Array, How Vector works!
Basic Data Structures
iv) Introduction to Linked List, Queue, Stack and Deque
i) Introduction to Heap/Priority Queue
ii) Introduction to Binary Search Tree, Set, Multiset
Tree Based Data Structures
iii) Map vs HashMap
and STL
iv) C++ Policy Based Data Structures
v) Problem solving using STL
3
i) Binary Search, lower_bound, upper_bound
ii) Application of Binary Search in various problems
Searching Techniques
iii) Ternary Search and its application in optimization
problems
4
i) Prefix Sum, 2D prefix Sum
Miscellaneous Part 1 ii) Two pointer technique and relevant problem discussion
iii) Introduction to bitwise operations and bitmask
5
i) Primality Test, Sieve of Eratosthenes, Segmented Sieve
ii) Introduction to Modular Arithmetic, Modular Inverse,
Number Theory
BigMod
iii) Solving Number Theory Problems
6
i) nPr, nCr Theory
Combinatorics
ii) Stars and Bars Theorem
i) Introduction to Graphs
ii) Adjacency List and Matrix
iii) BFS and DFS
Graph Theory iv) Cycle Finding
v) Bicoloring
vi) Topological Sorting
vii) Finding Diameter of a Tree
8
i) Concept of Recursion
Recursion and Backtracking
ii) Backtracking Technique and Problems Discussion
i) Introduction to DP and Complexity analysis of DP
ii) Rod cutting Dp, 0/1 Knapsack and Coin change
variations
Dynamic Programming
iii) Longest Common Subsequence, Longest Increasing
Subsequence and Longest Palindromic Subsequence
iv) Solving many classical Dp problems
10
i) Basics of KMP
String Algorithms ii) Basics of Hashing
iii) Trie/ Prefix Tree
11
i) Variety Problem Discussion
Miscellaneous Part 2
ii) Pracitce and learning guidelines after the course
12
Advanced
Topic Details
1
i) Square Root Decomposition
ii) Sparse Table + LCA + RMQ in O(1) for static data
Data Structure
iii) Segment Tree Basics + BIT
iv) Segment Tree Advanced
i) Floyd Warshall, Variations of Dijkstra
Graph ii) Graph Problems
iii) SCC/2-SAT
i) Trie + Hashing basics
String
ii) KMP basics + Problem Solving
i) Intro to Probability/Expected Value
Math
ii) Number Theory + Combinatorics Problems
5
i) Basic DP Problems + Iterative DP
Dynamic
ii) More DP Problems + DP with DS (Segment Tree)
Programming
iii) Bitmask DP
6
Game Theory Basics (up to nim game)
Game Theory
Point in Polygon, Ternary Search, Precision Issue Handling, Problem
Geometry
Solving
Made By: Synapse