algobangla

      • বাংলা
      • Arbitrary-Precision Arithmetic
      • Balanced Ternary
      • Binary Exponentiation
      • Binary Exponentiation by Factoring
      • Bit manipulation
      • Chinese Remainder Theorem
      • Continued fractions
      • Discrete Logarithm
      • Discrete Root
      • Euclidean algorithm for computing the greatest common divisor
      • Euler's totient function
      • Extended Euclidean Algorithm
      • Factorial modulo p
      • Fast Fourier transform
      • Fibonacci Numbers
      • Finding Power of Factorial Divisor
      • Garner's algorithm
      • Gray code
      • Integer factorization
      • Linear Congruence Equation
      • Linear Diophantine Equation
      • Linear Sieve
      • Modular Multiplicative Inverse
      • Montgomery Multiplication
      • Number of divisors / sum of divisors
      • Operations on polynomials and series
      • Primality tests
      • Primitive Root
      • Sieve of Eratosthenes
      • Submask Enumeration
      • Deleting from a data structure in O(T(n) log n)
      • Disjoint Set Union
      • Fenwick Tree
      • Minimum stack / Minimum queue
      • Randomized Heap
      • Segment Tree
      • Sparse Table
      • Sqrt Decomposition
      • Sqrt Tree
      • Treap (Cartesian tree)
      • Divide and Conquer DP
      • Dynamic Programming on Broken Profile. Problem "Parquet"
      • Finding the largest zero submatrix
      • Introduction to Dynamic Programming
      • Knapsack Problem
      • Knuth's Optimization
      • Longest increasing subsequence
      • Aho-Corasick algorithm
      • Expression parsing
      • Finding repetitions
      • Lyndon factorization
      • Manacher's Algorithm - Finding all sub-palindromes in O(N)
      • Prefix function. Knuth–Morris–Pratt algorithm
      • Rabin-Karp Algorithm for string matching
      • String Hashing
      • Suffix Array
      • Suffix Automaton
      • Suffix Tree. Ukkonen's Algorithm
      • Z-function and its calculation
      • Calculating the determinant of a matrix by Gauss
      • Calculating the determinant using Kraut method
      • Finding the rank of a matrix
      • Gauss method for solving system of linear equations
      • Balanced bracket sequences
      • Binomial Coefficients
      • Burnside's lemma / Pólya enumeration theorem
      • Catalan Numbers
      • Counting labeled graphs
      • Generating all K-combinations
      • Placing Bishops on a Chessboard
      • Stars and bars
      • The Inclusion-Exclusion Principle
      • Binary search
      • Integration by Simpson's formula
      • Newton's method for finding roots
      • Simulated Annealing
      • Ternary Search
      • Basic Geometry
      • Check if point belongs to the convex polygon in O(log N)
      • Check if two segments intersect
      • Circle-Circle Intersection
      • Circle-Line Intersection
      • Convex Hull construction
      • Convex hull trick and Li Chao tree
      • Delaunay triangulation and Voronoi diagram
      • Finding area of simple polygon in O(N)
      • Finding common tangents to two circles
      • Finding faces of a planar graph
      • Finding intersection of two segments
      • Finding the equation of a line for a segment
      • Finding the nearest pair of points
      • Half-plane intersection
      • Intersection Point of Lines
      • Lattice points inside non-lattice polygon
      • Length of the union of segments
      • Manhattan Distance
      • Minimum Enclosing Circle
      • Minkowski sum of convex polygons
      • Oriented area of a triangle
      • Pick's Theorem
      • Point location in O(log n)
      • Search for a pair of intersecting segments
      • Vertical decomposition
      • 0-1 BFS
      • 2-SAT
      • Bellman-Ford Algorithm
      • Breadth-first search
      • Check whether a graph is bipartite
      • Checking a graph for acyclicity and finding a cycle in O(M)
      • D´Esopo-Pape algorithm
      • Depth First Search
      • Dijkstra Algorithm
      • Dijkstra on sparse graphs
      • Edge connectivity / Vertex connectivity
      • Finding a negative cycle in the graph
      • Finding articulation points in a graph in O(N+M)
      • Finding bridges in a graph in O(N+M)
      • Finding Bridges Online
      • Finding the Eulerian path in O(M)
      • Flows with demands
      • Floyd-Warshall Algorithm
      • Heavy-light decomposition
      • Hungarian algorithm for solving the assignment problem
      • Kirchhoff's theorem. Finding the number of spanning trees
      • Kuhn's Algorithm for Maximum Bipartite Matching
      • Lowest Common Ancestor - Binary Lifting
      • Lowest Common Ancestor - Farach-Colton and Bender Algorithm
      • Lowest Common Ancestor - O(sqrt(N)) and O(log N) with O(N) preprocessing
      • Lowest Common Ancestor - Tarjan's off-line algorithm
      • Maximum flow - Dinic's algorithm
      • Maximum flow - Ford-Fulkerson and Edmonds-Karp
      • Maximum flow - MPM algorithm
      • Maximum flow - Push-relabel algorithm
      • Maximum flow - Push-relabel method improved
      • Minimum spanning tree - Kruskal with Disjoint Set Union
      • Minimum spanning tree - Kruskal's algorithm
      • Minimum spanning tree - Prim's algorithm
      • Minimum-cost flow - Successive shortest path algorithm
      • Number of paths of fixed length / Shortest paths of fixed length
      • Paint the edges of the tree
      • Prüfer code
      • Search for connected components in a graph
      • Second Best Minimum Spanning Tree
      • Solve RMQ (Range Minimum Query) by finding LCA (Lowest Common Ancestor)
      • Solving assignment problem using min-cost-flow
      • Strong Orientation
      • Strongly connected components and the condensation graph
      • Topological Sorting
      • K-th order statistic in O(N)
      • Longest increasing subsequence
      • MEX (minimal excluded) of a sequence
      • Range Minimum Query
      • Games on arbitrary graphs
      • Sprague-Grundy theorem. Nim
      • Optimal schedule of jobs given their deadlines and durations
      • Scheduling jobs on one machine
      • Scheduling jobs on two machines
      • 15 Puzzle Game: Existence Of The Solution
      • Floyd's Linked List Cycle Finding Algorithm
      • Josephus Problem
      • Search the subarray with the maximum/minimum sum
      • The Stern-Brocot tree and Farey sequences
    • Credits

    Algebra

    ✏️ Edit this page on GitHub
    Based on cp-algorithms.com by cp-algorithms contributors, licensed under CC BY-SA 4.0.