COMPETITIVE PROGRAMMING
│
├── MATHEMATICS
│ │
│ ├── Basic Math
│ │ ├── GCD / LCM
│ │ ├── Modular Arithmetic
│ │ └── Fast Exponentiation
│ │
│ ├── Number Theory
│ │ ├── Prime Sieve
│ │ ├── Factorization
│ │ ├── Modular Inverse
│ │ └── Chinese Remainder Theorem
│ │
│ └── Combinatorics
│ ├── nCr / nPr
│ ├── Inclusion–Exclusion
│ └── Catalan Numbers
│
├── DATA STRUCTURES
│ │
│ ├── Linear Structures
│ │ ├── Array
│ │ ├── String
│ │ └── Linked List
│ │
│ ├── Tree-Based
│ │ ├── Binary Tree
│ │ ├── BST
│ │ ├── Heap
│ │ ├── Segment Tree
│ │ └── Fenwick Tree
│ │
│ ├── Hash-Based
│ │ ├── HashMap
│ │ └── HashSet
│ │
│ └── Advanced Structures
│ ├── Trie
│ ├── Disjoint Set (DSU)
│ └── Ordered Set
│
├── ALGORITHMIC PARADIGMS
│ │
│ ├── Brute Force
│ │
│ ├── Divide & Conquer
│ │ └── Merge Sort, Quick Sort
│ │
│ ├── Greedy
│ │ └── Activity Selection, Huffman
│ │
│ ├── Dynamic Programming
│ │ │
│ │ ├── 1D DP
│ │ ├── 2D DP
│ │ ├── Knapsack Patterns
│ │ └── DP on Trees / Graphs
│ │
│ └── Backtracking
│ └── Permutations, Combinations
│
├── ARRAY & STRING PATTERNS ⭐ (MOST USED)
│ │
│ ├── Two Pointers
│ │ │
│ │ ├── Opposite Direction
│ │ ├── Same Direction
│ │ ├── Fast & Slow
│ │ │
│ │ └── Sliding Window
│ │ ├── Fixed Window
│ │ └── Variable Window
│ │
│ ├── Prefix Sum
│ │
│ ├── Difference Array
│ │
│ ├── Binary Search
│ │ ├── On Index
│ │ └── On Answer
│ │
│ └── Sorting + Logic
│
├── GRAPH THEORY
│ │
│ ├── Traversals
│ │ ├── BFS
│ │ └── DFS
│ │
│ ├── Shortest Path
│ │ ├── Dijkstra
│ │ ├── Bellman–Ford
│ │ └── Floyd–Warshall
│ │
│ ├── Minimum Spanning Tree
│ │ ├── Kruskal
│ │ └── Prim
│ │
│ └── Advanced Graphs
│ ├── Topological Sort
│ ├── SCC (Kosaraju / Tarjan)
│ └── Bridges & Articulation Points
│
├── RANGE QUERY TECHNIQUES
│ │
│ ├── Prefix Sum
│ ├── Fenwick Tree
│ ├── Segment Tree
│ └── Mo’s Algorithm
│
├── STRING ALGORITHMS
│ │
│ ├── Pattern Matching
│ │ ├── KMP
│ │ ├── Z Algorithm
│ │ └── Rabin–Karp
│ │
│ ├── Trie-Based Algorithms
│ │
│ └── Advanced
│ ├── Suffix Array
│ └── Suffix Automaton
│
└── ADVANCED / CP-HEAVY TOPICS
│
├── Bit Manipulation
│
├── Game Theory
│
├── Geometry
│
├── Randomized Algorithms
│
└── Interactive Problems
Python