Complete Competitive Programming map

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

Leave a Comment