Tags¶
This file contains a global index of all tags used on the pages.
Original¶
- Bit manipulation
- Continued fractions
- Number of divisors / sum of divisors
- Factoring Exponentiation
- Integer factorization
- Montgomery Multiplication
- Operations on polynomials and series
- Primality tests
- Stars and bars
- Deleting from a data structure in O(T(n) log n)
- Sparse Table
- Sqrt Tree
- Divide and Conquer DP
- Introduction to Dynamic Programming
- Knapsack Problem
- Knuth's Optimization
- Basic Geometry
- Convex hull trick and Li Chao tree
- Half-plane intersection - S&I Algorithm in O(N log N)
- Lattice points of non-lattice polygon
- Manhattan Distance
- Minkowski sum of convex polygons
- Point location in O(log n)
- 0-1 BFS
- Maximum flow - MPM algorithm
- Second best Minimum Spanning Tree - Using Kruskal and Lowest Common Ancestor
- Strong Orientation
- Calculating the determinant using Kraut method
- Binary Search
- Tortoise and Hare Algorithm (Linked List cycle detection)
- MEX (minimal excluded) of a sequence
Translated¶
- Enumerating submasks of a bitmask
- Balanced Ternary
- Arbitrary-Precision Arithmetic
- Binary Exponentiation
- Chinese Remainder Theorem
- Discrete Log
- Discrete Root
- Euclidean algorithm for computing the greatest common divisor
- Extended Euclidean Algorithm
- Finding Power of Factorial Divisor
- Factorial modulo p
- Fast Fourier transform
- Fibonacci Numbers
- Gray code
- Linear Diophantine Equations
- Linear Congruence Equation
- Modular Inverse
- Euler's totient function
- Linear Sieve
- Primitive Root
- Sieve of Eratosthenes
- Binomial Coefficients
- Placing Bishops on a Chessboard
- Balanced bracket sequences
- Burnside's lemma / Pólya enumeration theorem
- Catalan Numbers
- Counting labeled graphs
- Generating all K-combinations
- The Inclusion-Exclusion Principle
- Disjoint Set Union
- Fenwick Tree
- Randomized Heap
- Segment Tree
- Sqrt Decomposition
- Minimum Stack / Minimum Queue
- Treap
- Dynamic Programming on Broken Profile. Problem "Parquet"
- Finding the largest zero submatrix
- Games on arbitrary graphs
- Sprague-Grundy theorem. Nim
- Finding area of simple polygon in O(N)
- Check if two segments intersect
- Circle-Circle Intersection
- Circle-Line Intersection
- Convex hull construction
- Delaunay triangulation and Voronoi diagram
- Search for a pair of intersecting segments
- Length of the union of segments
- Intersection Point of Lines
- Finding the nearest pair of points
- Oriented area of a triangle
- Pick's Theorem - area of lattice polygons
- Finding faces of a planar graph
- Check if point belongs to the convex polygon in O(log N)
- Finding the equation of a line for a segment
- Intersection of Segments
- Common tangents to two circles
- Vertical decomposition
- 2-SAT
- Assignment problem
- Floyd-Warshall - finding all shortest paths
- Bellman-Ford - finding shortest paths with negative weights
- Bipartite Graph Check
- Breadth First Search
- Finding Bridges Online
- Finding bridges in a graph in O(N+M)
- Finding articulation points in a graph in O(N+M)
- Depth First Search
- D´Esopo-Pape algorithm
- Dijkstra - finding shortest paths from given vertex
- Dijkstra on sparse graphs
- Maximum flow - Dinic's algorithm
- Edge connectivity / Vertex connectivity
- Maximum flow - Ford-Fulkerson and Edmonds-Karp
- Finding the Eulerian path in O(M)
- Checking a graph for acyclicity and finding a cycle in O(M)
- Finding a Negative Cycle in the Graph
- Number of paths of fixed length / Shortest paths of fixed length
- Flows with demands
- Heavy-light decomposition
- Hungarian Algorithm
- Kirchhoff Theorem
- Kuhn's Algorithm - Maximum Bipartite Matching
- Lowest Common Ancestor - O(sqrt(N)) and O(log N) with O(N) preprocessing
- Lowest Common Ancestor - Binary Lifting
- Lowest Common Ancestor - Farach-Colton and Bender algorithm
- Lowest Common Ancestor - Tarjan's off-line algorithm
- Minimum-cost flow
- Minimum Spanning Tree - Kruskal
- Minimum Spanning Tree - Kruskal with Disjoint Set Union
- Minimum Spanning Tree - Prim's Algorithm
- Prüfer code
- Maximum flow - Push-relabel algorithm improved
- Maximum flow - Push-relabel algorithm
- Solve RMQ by finding LCA
- Finding Connected Components
- Strongly Connected Components and Condensation Graph
- Topological Sorting
- Tree painting
- Gauss & Determinant
- Gauss & System of Linear Equations
- Rank of a matrix
- Newton's method for finding roots
- Integration by Simpson's formula
- Ternary Search
- 15 Puzzle Game: Existence Of The Solution
- Josephus problem
- Search the subsegment with the maximum/minimum sum
- The Stern-Brocot Tree and Farey Sequences
- Optimal schedule of jobs given their deadlines and durations
- Scheduling jobs on one machine
- Scheduling jobs on two machines
- K-th order statistic in O(N)
- Longest increasing subsequence
- RMQ task (Range Minimum Query - the smallest element in an interval)
- Aho-Corasick algorithm
- Expression parsing
- Lyndon factorization
- Finding repetitions
- Manacher's Algorithm - Finding all sub-palindromes in O(N)
- Prefix function - Knuth-Morris-Pratt
- Rabin-Karp for String Matching
- String Hashing
- Suffix Array
- Suffix Automaton
- Suffix Tree
- Z-function