Data Structures problem solving paradigms Math Geometry static arrays std::string directed vs undirected adhocks Fibonacci and its fast computation points, angles, lines and planes std::algorithm d-dim array std::cstring Strings weighted vs unweighted backtracking Factorial & stirling approximation basic vector algebra roman numeral Stack std::ctype connected vs unconnected greedy binomial coefficients std::complex postfix calculator special graphs: tree ,line ,bipartite ,DAG classical dp: LCS ,LIS ,Edit distance, matrix chain multiplication and 0-1 knapsack Queue Graph Combinatorial Optimization misc primality test O(sqrt(n)) triangle area laws slinding window deque graph representation dp with bitmasks gcd & lcm cross & product rules towers of hanoi vector dfs, bfs ,iterative depening backtracking with bitmasks binary exponentiation polygon area insertion sort elemetry methods: point line distance, line line distance, circle construction, segment segment intersection, etc Junior single linked list euler tour/circuit binary search matrix exponentiation & recurrences doubly linked list hamiltonian tour/ciruit ternary search basic counting: product & sum rules merge sort basic probability inversion count priority queue selections sort babbage difference engine lagrange multiplier Rabin karp topological sorting bt with heavy bruning inculsion-exclusion principle and pigeonhole principle convex hull dsu Z algorithm flattening of tree greedy proofs sieve & optimized sieve polygon triangulation Ford Fulkerson & Edmonds Karp BST: treap (rotations vs split merge) splay red/black - AVL tree KMP LCA dp on trees & DAGs euler phi function & Euler's theorem vironi diagram MCMF (dijkstra) BIT aho corasick biconnected components dp with memory reduction fast computation of modular inverse Closest Pair Problem dinic fft segment tree Manacher's algorithm SCC dp with DS extended euclid & diophantine line sweep diffirence constrains LIS in nlogn persistent seg tree Senior . monotonic queue Palindromic tree MST sparse table suffix trie bellman-ford sqrt decomposition Dictionary of Basic Factors 2 SAT meet in the middle Hirschberg's algorithm merge sort seg tree mo's algorithm dijkstra dp with compinatorics cycle finding digit dp nim and grundy numbers cyclic dp (finite infinite recursion) Gaussian Elimination & determinants counting sort radix sort radial sweep kadane's algorithm in d-dimentions pick's theorem newton and secant meothds center of gravity chinese remainder theorem point in polygon <O(1),O(n)> polar rho & Miller–Rabin point in polygon <O(n logn),O(logn)> suffix array & LCP number of shortest path using dp & matrix multiplication regular expressions Minimum Weight Mean Cycle Lagrange Interpolating Polynomial suffix automata Transitive Closure using scc for solving 2sat discrete log modulu: baby-step giant-step algorithm & primitive roots floyd-warshal facctorial modulu P in P(P log n) stable marriage amortized analysis catalan numbers Farey sequence adaptive simpson wavelet tree suffix array (linear) chinese postman burnside lemma Bentley–Ottmann algorithm SimpleX fractional cascading skip-lists patricia tree divide and conquer decomposition aka centeroid decomposition knuth optimization prufer sequence cover Tree hungarian algorithm link-cut tree suffix tree heavy light decomposition divide and conquer optimization stirling numbers of 1s and 2nd types rotating calibre all pairs min-cut (Gomory-Hu tree) fibonacci heap build suffix tree from array + lcp small to big trick .. in trees Optimum monotonocity Kirchhoff's matrix theorem fortune algorithm Blossom Algorithm kd-tree Lyndon decomposition sack (dsu on tree) Lagrange optimization Lucas' Theorem 3d convex hull Hopcroft Karp RMQ using BIT persistent palindromic tree dominator tree of DAG parallel binary search sqrt-fragmented tree LiChao tree advanced Senior convex hull trick Bernoulli numbers 3d geometry The Kuhn algorithm NTT dynamic connectivity LU decompisition Quaternion algebra job scheduling markov chains block cut tree of graph multiplicative functions and mobius function Area of intersection of a set of circles Stoer–Wagner algorithm Ji Driver segment tree aka segment tree beats bridge tree of graph PQ tree Minimum Diameter Spanning Tree Sqrt tree algorithmX MST in directed graph fft tricks on polynomials and recurrences Area of union of circles (exact using circle arcs) Partially Ordered Sets fast subset convolution (zeta/mobius transform) Freivalds' algorithm Flow Circulation Hadamard (OR, Xor,, etc convolution) johnson's rule for scheduling Tutte_matrix max flow with edge demand/lowerbound Mixed Graph Euler Circuit bell numbers Hall's theoreom LexBFS strong pseudoprimes and lucas primality test dynamic euler tour trees A* wheel factorization Pohlig–Hellman algorithm Pollard's kangaroo algorithm Pell's equations Cornacchia's algorithm Cipolla's algrithm and Tonelli–Shanks algorithm Method of Four Russians