Bellman-Ford algorithm for negative edge weights and negative cycle detection.
Union-Find / DSU with path compression and rank optimization ($\alpha(N)$ inverse Ackermann).
DP Transition identification: State definition $\to$ Recurrence Relation $\to$ Base Cases $\to$ Space Optimization.
0/1 Knapsack vs Unbounded Knapsack state array compression ($1D$ reverse iteration vs forward iteration).
Longest Common Subsequence (LCS) and Edit Distance 2D table construction.
Longest Increasing Subsequence (LIS) in $O(N \log N)$ via Binary Search / Patience Sorting.
5. Advanced Topics
Trie construction, search, prefix matching, and Bitwise Trie for maximum XOR sub-arrays.
Segment Tree range queries and point updates in $O(\log N)$.
Bit manipulation tricks: n & (n - 1) (clearing lowest set bit), n & -n (isolating lowest set bit).
Backtracking template: Base Case $\to$ Loop candidates $\to$ Pruning $\to$ Choose $\to$ Recurse $\to$ Unchoose.
6. Segment Tree & Fenwick Tree (Module 12 Deep Dive)
Segment Tree build in $O(N)$ β understand the recursive structure and the 1-indexed flat array representation.
Segment Tree range query: memorize the 3 cases (no overlap, complete overlap, partial overlap).
Segment Tree point update: trace the path from root to leaf and back.
Lazy Propagation: range update in $O(\log N)$ β understand pushDown() and when to call it.
Fenwick Tree i & (-i) trick: know which range BIT[i] covers.
Fenwick prefix sum query: walk left by removing LSB.
Fenwick point update: walk right by adding LSB.
Advanced BIT (two BITs for range update + range sum query).
2D Fenwick Tree for matrix range sum queries.
Decision: when to use Fenwick Tree vs Segment Tree.
π οΈ Recommended Daily Study Routine
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Phase 1: Pattern Recognition & Blueprint Reading(20 mins) β
β - Study Module 00& Module-specific decision logic. β
β - Identify linguistic signals andtemplate invariants. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Phase 2: Code Implementation from Scratch(30-40 mins) β
β - Implement the core data structure or pattern template in C++. β
β - Write down the invariant rules in comments. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Phase 3: Deliberate Practice(3-Pass Solving)(60-90 mins) β
β - Attempt unseen problems without looking at hints for25 mins. β
β - Tag the problem with its pattern in your personal study log. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Phase 4: Verbal Mock Interviewing(20 mins) β
β - Walk through the 6-Step Dissection Protocol out loud. β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ