cp-algorithms Β· GitHub

Translation Progress (129 / 145 + 21)

Article Links ru/en Progress
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 βœ”οΈ

Read the original on github.com β†—