Optimization Common:
Eulerian DP greedy/bf Binary Search Branch & Bound RMQST Line sweep Sweep line
DP (Dynamic Programming):
General State representation(s) Diff sub-states calc? move to max? Cycles? Prob? Disjoint / BFS Extremum: inc-dec Types Interval / Range Counting Tree / Partitioning Extending table Knapsack Random order Search space? Standard-n pars Recurrence pars
Data Structures:
Set/Heap /Disjoint Sets BIT Segmentation Tree Treap, KDT LCA/RMQ Hashing Interval Compression Quad Tree
Mathematics:
GCD/LCM/Phi/Mob NIM/Grundy/Chinese Sieve/Factorization System of Linear Eqs Determinant Simpson's Rule Pick's Theo Numerical Integration Matrix Power Closed Form Pigeon Hole Triangle inequality Voronoi diagram
Graph Algorithms:
MST, Kruskal Dijkstra / Topological Johnson Hull / Floyd Max Flow/Min Cut Graph Matching Min Indep Set Min path-vertex cover Bellman / D-Costs Flow Postman
Adhoc Algorithms:
Greedy Line Sweep Sliding Window Canonical Form Grid Compression Constructive algos Test cases driven Randomization Stress Test & Observe
Search Algorithms:
BFS / DFS / Bi-BFS Backtracking Binary Search Golden Ratio Meet in middle Divide & Conquer Branch & Bound Min Enclosing Circle
String Algorithms:
Trie Permutation Cycles LIS / LCS Polynomial Hashing KMP / Aho Corasick suffix tree/array
Counting Problems:
DP Combinations / Perms Inclusion-Exclusion Graph Power
Decision Algorithms:
2SAT Difference constraints N Queens Bipartite?