| Algebra |
|
22/23 + 4 |
| Euler's Totient Function |
ru src en
|
βοΈ |
| Number of divisors / sum of divisors |
en |
π |
| Euclidean algorithm for finding the GCD (greatest common divisor) |
ru src en
|
βοΈ |
| Sieve of Eratosthenes |
ru src en
|
βοΈ |
| Extended Euclidean Algorithm |
ru src en
|
βοΈ |
| Binary Exponentiation |
ru src en
|
βοΈ |
| Balanced Ternary |
ru src en
|
βοΈ |
| Linear Diophantine Equations |
ru src en
|
βοΈ |
| Linear Congruence Equation |
ru src en
|
βοΈ |
| Modular Inverse |
ru src en
|
βοΈ |
| Chinese Remainder Theorem |
ru src en
|
βοΈ |
| Primitive Root |
ru src en
|
βοΈ |
| Discrete Root |
ru src en
|
βοΈ |
| Discrete Log |
ru src en
|
βοΈ |
| Enumerating submasks of a bitmask |
ru src en
|
βοΈ |
| Gray code |
ru src en
|
βοΈ |
| Sieve of Eratosthenes Having Linear Time Complexity |
ru src en
|
βοΈ |
| Long Arithmetics |
ru src en
|
βοΈ |
| Fibonacci Numbers |
ru src en
|
βοΈ |
| Finding Power of Factorial Divisor |
ru src en
|
βοΈ |
| The factorial N! modulo P in O (P log N) |
ru src en
|
βοΈ |
| Primality tests |
en |
π |
| BPSW test on the simplicity of numbers in O (log N) |
ru src
|
βοΈ |
| Factorization algorithms |
ru src en
|
βοΈ |
| Montgomery Multiplication |
en |
π |
| Fast Fourier transform |
ru src en
|
βοΈ |
| Operations on polynomials and series |
en |
π |
| Data Structures |
|
7/7 + 3 |
| Disjoint Set Union |
ru src en
|
βοΈ |
| Fenwick Tree |
ru src en
|
βοΈ |
| Sparse Table |
en |
π |
| Segment Tree |
ru src en
|
βοΈ |
| Treap |
ru src en
|
βοΈ |
| Sqrt Decomposition |
ru src en
|
βοΈ |
| Sqrt Tree |
en |
π |
| Modification of stack / queue for finding the minimum in O(1) |
ru src en
|
βοΈ |
| Randomized heap |
ru src en
|
βοΈ |
| Delete from data structure |
en |
π |
| Dynamic Programming |
|
2/2 + 3 |
| Introduction to Dynamic Programming |
en |
π |
| Knapsack Problem |
en |
π |
| Dynamic Programming on Broken Profile. Problem "Parquet" |
ru src en
|
βοΈ |
| Finding the largest zero submatrix |
ru src en
|
βοΈ |
| Divide and Conquer DP |
en |
π |
| String Processing |
|
12/12 |
| String Hashing |
ru src en
|
βοΈ |
| Rabin-Karp for String Matching |
ru src en
|
βοΈ |
| Expression parsing |
ru src en
|
βοΈ |
| Suffix Array |
ru src en
|
βοΈ |
| Suffix Automaton |
ru src en
|
βοΈ |
| Suffix Tree |
ru src en
|
βοΈ |
| Z-function |
ru src en
|
βοΈ |
| Prefix function |
ru src en
|
βοΈ |
| Finding all sub-palindromes in O(N) |
ru src en
|
βοΈ |
| Lyndon factorization |
ru src en
|
βοΈ |
| Aho-Corasick algorithm |
ru src en
|
βοΈ |
| Finding repetitions |
ru src en
|
βοΈ |
| Linear Algebra |
|
3/3 + 1 |
| Gauss & System of Linear Equations |
ru src en
|
βοΈ |
| Gauss & Determinant |
ru src en
|
βοΈ |
| Kraut & Determinant |
en |
π |
| Finding rank of a matrix in O (N^3) |
ru src en
|
βοΈ |
| Combinatorics |
|
9/9 + 1 |
| The Inclusion-Exclusion Principle |
ru src en
|
βοΈ |
| Binomial Coefficients |
ru src en
|
βοΈ |
| Catalan Numbers |
ru src en
|
βοΈ |
| Necklaces |
ru src en
|
βοΈ |
| The placement of bishops on the chessboard |
ru src en
|
βοΈ |
| Balanced bracket sequences |
ru src en
|
βοΈ |
| Counting labeled graphs |
ru src en
|
βοΈ |
| Generating all K-combinations |
ru src en
|
βοΈ |
| Burnside's lemma / PΓ³lya enumeration theorem |
ru src en
|
βοΈ |
| Stars and bars theorem |
en |
π |
| Game Theory |
|
1.5/2 |
| Games on arbitrary graphs |
ru src en
|
βοΈ |
| Sprague-Grandy's Theorem. Nim |
ru src en
|
γ°οΈ |
| Numerical Methods |
|
3/3 + 1 |
| Integration by Simpson's formula |
ru src en
|
βοΈ |
| Binary Search |
|
π |
| Ternary Search |
ru src en
|
βοΈ |
| Newton's method for finding roots |
ru src en
|
βοΈ |
| Geometry |
|
17/23 + 5 |
| Basic Geometry |
en |
π |
| Length of the union of intervals on a line in O(N log N) |
ru src en
|
βοΈ |
| Oriented area of a triangle and predicate "clockwise" |
ru src en
|
βοΈ |
| Check if two segments intersect |
ru src en
|
βοΈ |
| Finding the equation of the straight line to cut |
ru src en
|
βοΈ |
| Intersection Point of Lines |
ru src en
|
βοΈ |
| Finding Intersection point of Two Segments |
ru src en
|
βοΈ |
| Circle-Line Intersection |
ru src en
|
βοΈ |
| Circle-Circle Intersection |
ru src en
|
βοΈ |
| Pick's Theorem - area of lattice polygons |
ru src en
|
βοΈ |
| Lattice points of non-lattice polygon |
en |
π |
| Area of simple polygon |
ru src en
|
βοΈ |
| The task of covering segments by points |
ru src
|
βοΈ |
| The centers of gravity of polygons and polyhedra |
ru src
|
βοΈ |
| Convex Hull construction using Graham's Scan |
ru src en
|
βοΈ |
| Vertical decomposition |
ru src en
|
βοΈ |
| Minkowski sum of convex polygons |
en |
π |
| Check points belong to the convex polygon in O (log N) |
ru src en
|
βοΈ |
| Finding the inscribed circle in the convex polygon using ternary search in O (N logTwo C) |
ru src
|
βοΈ |
| Finding the inscribed circle in the convex polygon method of compression of the parties in O (N log N) |
ru src
|
βοΈ |
| Delaunay triangulation and Voronoi diagram |
ru src en
|
βοΈ |
| Finding all faces, the outer face of a planar graph in O (N log N) |
ru src
|
βοΈ |
| Finding the nearest pair of points |
ru src en
|
βοΈ |
| Transforming the geometry of inversion |
ru src
|
βοΈ |
| Finding common tangents to two circles |
ru src en
|
βοΈ |
| Search for a pair of intersecting segments |
ru src en
|
βοΈ |
| Convex hull trick and Li Chao tree |
en |
π |
| Point location in O(log n) |
en |
π |
| Graphs |
|
43/51 + 3 |
| Breadth First Search |
ru src en
|
βοΈ |
| Depth First Search |
ru src en
|
βοΈ |
| Bipartite Graph Check |
ru src en
|
βοΈ |
| 0-1 BFS |
en |
π |
| Kirchhoff Theorem |
ru src en
|
βοΈ |
| Topological Sorting |
ru src en
|
βοΈ |
| Finding Bridges in O(N+M) |
ru src en
|
βοΈ |
| Finding Articulation Points in O(N+M) |
ru src en
|
βοΈ |
| Finding Bridges Online |
ru src en
|
βοΈ |
| Checking a graph for acyclicity and finding a cycle in O(M) |
ru src en
|
βοΈ |
| Finding a Negative Cycle in the Graph |
ru src en
|
βοΈ |
| Floyd-Warshall - finding all shortest paths |
ru src en
|
βοΈ |
| Number of paths of fixed length / Shortest paths of fixed length |
ru src en
|
βοΈ |
| Dijkstra - finding shortests paths from given vertex |
ru src en
|
βοΈ |
| Dijkstra on sparse graphs |
ru src en
|
βοΈ |
| Bellman-Ford - finding shortests paths with negative weights |
ru src en
|
βοΈ |
| DΒ΄Esopo-Pape algorithm |
ru src en
|
βοΈ |
| Finding Connected Components |
ru src en
|
βοΈ |
| Lowest Common Ancestor |
ru src en
|
βοΈ |
| Lowest Common Ancestor - Binary Lifting |
ru src en
|
βοΈ |
| Lowest Common Ancestor - Farach-Colton and Bender algorithm |
ru src en
|
βοΈ |
| RMQ using LCA |
ru src en
|
βοΈ |
| Lowest Common Ancestor - Tarjan's off-line algorithm |
ru src en
|
βοΈ |
| Minimum Spanning Tree - Prim's algorithm |
ru src en
|
βοΈ |
| Minimum Spanning Tree - Kruskal |
ru src en
|
βοΈ |
| Minimum Spanning Tree - Kruskal with Disjoint Set Union |
ru src en
|
βοΈ |
| Second best MST |
en |
π |
| PrΓΌfer Code |
ru src en
|
βοΈ |
| Eulerian path |
ru src en
|
βοΈ |
| Strongly Connected Components and Condensation Graph |
ru src en
|
βοΈ |
| Maximum Flow - Ford-Fulkerson and Edmonds-Karp |
ru src en
|
βοΈ |
| Maximum Flow - Push-relabel method |
ru src en
|
βοΈ |
| Maximum flow - Push-relabel method improved |
ru src en
|
βοΈ |
| Flows with demands |
ru src en
|
βοΈ |
| Minimum-cost flow |
ru src en
|
βοΈ |
| Assignment problem. Solution using min-cost-flow in O (N^5) |
ru src en
|
βοΈ |
| Assignment problem. Hungarian algorithm (Kuhn algorithm) in O (N^3) |
ru src en
|
βοΈ |
| Finding the minimum cut algorithm Stoer-Wagner-O(N^3) |
ru en src
|
βοΈ |
| The flow of minimum cost, minimum cost circulation. The algorithm for removing cycles of negative weight |
ru src
|
βοΈ |
| Maximum flow - Dinic's algorithm |
ru src en
|
βοΈ |
| Maximum flow - MPM algorithm |
en |
π |
| The Kuhn algorithm of finding a maximum matching in O (N M) |
ru src en
|
βοΈ |
| Finding the highest weight vertex-weighted matching in O (N^3) |
ru src
|
βοΈ |
| Edmonds algorithm finds the maximum matching in arbitrary graphs in O (N^3) |
ru src
|
βοΈ |
| Coating of oriented paths in the acyclic graph |
ru src
|
βοΈ |
| Tutte matrix. A randomized algorithm for finding maximum matching in an arbitrary graph |
ru src
|
βοΈ |
| Edge connectivity |
ru src en
|
βοΈ |
| Vertex connectivity |
ru src en
|
βοΈ |
| Construction of graph with given edge connectivity, vertex connectivity, and minimum degree |
ru src en
|
βοΈ |
| The inverse problem SSSP (inverse-SSSP - inverse shortest paths from one vertex) in O (M) |
ru src
|
βοΈ |
| Inverse MST (inverse-MST - inverse of the minimum core) in O (N M^2) |
ru src
|
βοΈ |
| Tree painting |
ru src en
|
βοΈ |
| 2-SAT |
ru src en
|
βοΈ |
| Heavy-light decomposition |
ru src en
|
βοΈ |
| Sequences |
|
3/3 |
| RMQ task (Range Minimum Query - the smallest element in an interval) |
ru src en
|
βοΈ |
| Longest increasing subsequence |
ru src en
|
βοΈ |
| K-th order statistic in O(N) |
ru src en
|
βοΈ |
| Schedules |
|
3/3 |
| Scheduling jobs on one machine |
ru src en
|
βοΈ |
| Scheduling jobs on two machines |
ru src en
|
βοΈ |
| The Optimal Schedule Of Jobs Given Their Deadlines And Durations |
ru src en
|
βοΈ |
| Miscellaneous |
|
4/4 |
| Joseph's Problem |
ru src en
|
βοΈ |
| 15 Puzzle Game: Existence Of The Solution |
ru src en
|
βοΈ |
| The Stern-Brocot tree and Farey sequences |
ru src en
|
βοΈ |
| Search the subsegment with the maximum/minimum sum |
ru src en
|
βοΈ |