Concepts158

Category

Level

Filtering by:
#competitive programming
⚙️AlgorithmIntermediate

Euler Path and Circuit

An Euler path visits every edge exactly once, and an Euler circuit is an Euler path that starts and ends at the same vertex.

#euler path#euler circuit#hierholzer algorithm+12
⚙️AlgorithmIntermediate

Knapsack Problems

Knapsack problems ask how to pick items under a weight (or cost) limit to maximize value or to check if a target sum is reachable.

#0/1 knapsack#unbounded knapsack#bounded knapsack+12
⚙️AlgorithmIntermediate

Coin Change and Variants

Coin Change uses dynamic programming to find either the minimum number of coins to reach a target or the number of ways to reach it.

#coin change#dynamic programming#unbounded knapsack+12
MathIntermediate

Linear Basis for XOR

A linear basis for XOR is a compact set of at most W numbers (W = number of bits) that can generate every XOR value obtainable from a multiset of numbers.

#xor basis#linear basis#gaussian elimination f2+12
MathIntermediate

Matrix Rank and Linear Independence

Matrix rank is the number of pivots after Gaussian elimination and equals the dimension of both the column space and the row space.

#matrix rank#linear independence#gaussian elimination+12
MathAdvanced

Berlekamp-Massey Algorithm

Berlekamp–Massey (BM) finds the shortest linear recurrence that exactly fits a given sequence over a field (e.g., modulo a prime).

#berlekamp-massey#linear recurrence#minimal polynomial+11
MathAdvanced

Gaussian Elimination over GF(2)

Gaussian elimination over GF(2) is ordinary Gaussian elimination where addition and subtraction are XOR and multiplication is AND.

#gaussian elimination#gf(2)#xor basis+12
⚙️AlgorithmIntermediate

Bipartite Matching - Hopcroft-Karp

Hopcroft–Karp computes maximum matching in a bipartite graph in O(E \sqrt{V}) time, which is asymptotically faster than repeated DFS (Kuhn's algorithm).

#hopcroft karp#bipartite matching#augmenting path+11
⚙️AlgorithmAdvanced

General Matching - Blossom Algorithm

Edmonds' Blossom Algorithm finds a maximum matching in any undirected graph, not just bipartite ones.

#blossom algorithm#edmonds matching#general graph matching+12
⚙️AlgorithmIntermediate

Bipartite Matching - Kuhn's Algorithm

Kuhn’s algorithm finds a maximum matching in a bipartite graph by repeatedly searching for augmenting paths using DFS.

#bipartite matching#kuhn algorithm#augmenting path+12
⚙️AlgorithmIntermediate

König's Theorem

König's Theorem states that in any bipartite graph, the size of a maximum matching equals the size of a minimum vertex cover.

#konig's theorem#bipartite matching#minimum vertex cover+12
⚙️AlgorithmIntermediate

Maximum Flow - Dinic's Algorithm

Dinic's algorithm computes maximum flow by repeatedly building a level graph with BFS and sending a blocking flow using DFS.

#dinic#maximum flow#blocking flow+11