THE
COMPETITIVE
PROGRAMMING
SAGA
BY: ARCHIT AGGARWAL
100+ HOURS
SESSIONS
DOUBT
SUPPORT
1:1
MENTORING
ADVANCED
DSA
THE CODING SAGA BY ARCHIT AGGARWAL
THE CODING SAGA
WEBSITE
LINKEDIN
YOUTUBE
ARCHIT AGGARWAL
BEING COMMITTED
TO CODING!
COURSE CURRICULUM
I. INTRODUCTION TO CP
C++ and Java CP Template
Sublime Text Setup for CP
Fast Input and Output
Time and Space Complexity
Time Limit Exceeded & Chart
Collection Frameworks (Java)
Standard Template Library (C++)
CP Tips & Tricks
Problem Sheet & Portals Walkthrough
II. BIT MANIPULATION
Basic Bitwise Operations
Bitmasking (LSB & MSB)
Number Systems (Decimal, Binary,
Octal, Hexadecimal)
Big Integers in C++ & Java
Hamming Weight & Codes
Gray Code Conversions
XOR Based Problems
Unique Numbers in Array
All Subsets using Bits Iteration
Exponentiation or Power Function
THE CODING SAGA BY ARCHIT AGGARWAL
BEING COMMITTED
TO CODING!
COURSE CURRICULUM
III. NUMBER THEORY
Euclid's Algorithm (GCD and LCM)
Extended Euclid's Algorithm
Linear Diophantine Equation
Prime Numbers Checking
Sieve of Eratosthenes
Segmented Prime Sieve
Factorization & Prime Factorization
Offline & Online Queries
Modular Arithmetic
Multiplicative Modular Inverse (MMI)
Inclusion-Exclusion Principle
Pigeonhole Principle
IV. MATHEMATICS & COMBINATORICS
Euler's Theorem
Euler's Totient Function
Chinese Remainder Theorem
OEIS Series & Sequences
Big Integers Exponentiation
Matrix Exponentiation
Fibonacci Series Patterns
Probability Problems
THE CODING SAGA BY ARCHIT AGGARWAL
BEING COMMITTED
TO CODING!
COURSE CURRICULUM
V. STRING PATTERN MATCHING
KMP Algorithm (Longest Prefix Suffix)
Z Algorithm
Rabin Karp Algorithm (String Hashing)
VI. GAME THEORY
Sprague-Grundy Theorem
Nim Games
Stone Games
VII. SEARCHING ALGORITHMS
Binary Search Variations
Binary Search on Answer
Jump Search & Step Array Search
Ternary Search (Unimodal Functions)
VIII. GEOMETRY
Collinear & Non-Collinear Points
Lines, Perimeter, Area & Volume
Convex Hull Polygon
Graham Scan Algorithm
THE CODING SAGA BY ARCHIT AGGARWAL
BEING COMMITTED
TO CODING!
COURSE CURRICULUM
IX. TREES & GRAPHS
Binary Trees & BSTs
Generic Trees as Graphs
Lowest Common Ancestor Queries
Rerooting Technique (DP on Trees)
DFS and BFS Algorithms
Euler & Hamiltonian Paths
Cycle Detection Algorithms
Topological Sorting & Graph Coloring
Dijkstra's, Floyd Warshall, Bellmon Ford
Shortest Path Algorithms
Disjoint Set Union (DSU)
Minimum Spanning Tree (MST)
Articulation Point.& Bridges
X. RANGE QUERY
Prefix Array & Difference Array
Square Root Decomposition
Segment Tree (Point Updates)
Lazy Propagation (Range Updates)
Fenwick Tree or Binary Indexed Tree (BIT)
Range Sum, Min or Max Queries
Kadane Queries, Inversion Count, Distinct
Queries, Greater Queries, etc.
THE CODING SAGA BY ARCHIT AGGARWAL
BEING COMMITTED
TO CODING!
COURSE CURRICULUM
XI. DYNAMIC PROGRAMMING
Recursive DP or Memoization
Iterative DP or Tabulation
LIS, LCS, and other DP Patterns
Non-Integer DP Sates (HashMap)
1-D DP and 2-D DP
DP on Grids
DP + Game Theory
DP on Trees
DP on Graphs
DP with Bitmasking
DP on Digits
AND MUCH MORE
Interactive Problems
Randomization Problems
Policy-Based Data Structure
Meet in the Middle
Trie or Prefix Tree
Design Problems
THE CODING SAGA BY ARCHIT AGGARWAL