0/1 knapsack
0/1 knapsack (a bit modified)
0-1 indicator random variables
0-1 knapsack
15 puzzle
15 puzzle in 3D
1D range searching (augmented to get Range Max Query)
2-colorability
2D grid
2D range minimum/maximum queries
2D segment tree (2D interval tree
2D triangle-triangle intersection
2D Turing Machine
2-SAT
3 x 3 tic tac toe
3D convex hull
3D triangle intersection
3n+1 problem (same as UVA 100)
8-puzzle
8-queens problem
abstract algebra
abstract evaluation
abstract syntax tree
ad hoc
addition
addition of numbers in Zeckendorf representation
adjacency matrix
advanced math (google!)
all subsets
all-pairs maximum flow
all-pairs shortest paths
all-pairs shortest paths (in reverse)
analogue clock
angles
angles (or convex hull)
approximation algorithms
APSP
arc lengths
area computation
area of 2D polygon
area of 3D triangle
area of a regular convex polygon
area of an ellipsis
area of circle sector
area of trapezium
area under curves
arithmetic sequences
arrangements
array priority queue
articulation points
AST
augmenting data structures
baby-step giant-step algorithm
back edges
backtracking
base 3
base conversion
Bayesian spam filtering (see Wikipedia)
Bellman-Ford
Bellman-Ford (different distance notion)
Bellman-Ford (different relaxation operation)
Bellman-Ford (modified)
Bezout's identity
BFS
BFS (0/1 weights)
BFS (from the goal state)
biconnected components
big num
bigdecimal
Bignum
bignum addition
binary codes
binary expansion
binary indexed tree
binary number system
binary search
binary search trees
binary trees
binomial coefficents
binomial theorem
bipartite graphs
bisection
bishops
bit manipulations
bit masks
bitsets
block-sorting compression
board games
Bogus Nim
Boolean logic
border array
bottleneck edge queries
bounding box
branch and bound
bridge
bridge (biconnected components)
bridge and torch problem
brute force
BST
bucket array
Burnside's lemma
Burrows Wheeler Transform
BWT
caching
calculus
calculus of several variables
canonical orderings
Cantor set
card games
cartesian coordinate system
cartesian equation of sphere
case analysis
case analysis (modulo 4)
case analysis (special cases)
Catalan numbers
ceiling
cellular automata
center of a tree
centroids
changing the order of summation
Chebyshev polynomials
checking if a game state is reachable
checking if a graph is a Hamming cube
chess
chess board
chessboard
Chinese postman problem
Chinese Remainder Theorem
chord
Chu-Liu-Edmonds algorithm
circle
circle & circle intersection
circle and circle intersection
circle area
circle line tangents
circle sector area
circle through 2 points
circle through 3 points
circle-circle intersection
circles
circular sector
circumcircle
claws
clique
closed form
closed solution
closest pair of points
closest pair of points (using a different distance function)
closest pair problem
closest point on line segment
coin change
coin change (a bit modified)
coin change (or backtracking)
Collatz conjecture
collinearity
columns
combination of a LIS and LDS
combinations with repetitions
combinatorial game theory
combinatorial geometry
combinatorics
comparison model
complete binary tree
complete graph
complex bases
complex numbers
composite games
computational geometry
computing height of tree after rotation to root for all nodes
computing the chromatic number of a graph
computing the upper envelope
conditional probabilities
cones
connected components
connecting a set of points with straight lines without crossings
connectivity
constant folding
context-free grammars
continuous probability distribution
continuous probability theory
control flow graph
conversion from roman numerals to decimal (and vice versa)
converting from decimal fraction to ternary
converting from infix to postfix
convex hull
convex orthogonal polygons
convex polygons
coordinate compression
coordinate system conversion
coordinate systems
coprimes
cosine
cosine relation
counting
counting inversions
counting number of grid squares inside the circles
counting number of paths in a DAG
counting number of threathened squares
counting paths in a DAG
counting sort
counting symmetries
counting triangles
covering squares on a chessboard
cross product
CRT
cryptography
cube root
CubeNets)
cubes
cuckoo hashing
cutting polygons by a straight line
cutting polygons by lines
cycle detection
cycle finding (Floyd's cycle finding algorithm)
cycles
cyclic permutations
cyclic rotations
cylinders
DAG
DAG shortest paths
Dance Dance Revolution
data compression
data structures
dataflow analysis
De Bruijn sequences (or backtracking
De Moivre's formula
De Moivre's theorem
decimal expansion
decision tree
deque
derangements
derivates
derivative
detecting cycles
detecting multiple edges between vertices
detecting negative weight cycles
determinants
determining if a graph is a directed cactus
deterministic
DFS
DFS (Euler tour
DFS (or BFS)
DFS (or union-find)
DFS edge classification
diagonalization
diagonals
diameter of a tree
diameter of an unrooted tree
dictionary problem
difference constraints
difference tables
differentiation
Dijkstra
Dijkstra (modified)
Dijkstra (on a modified graph)
Dijkstra (on a sparse graph)
Dijkstra (with a heap)
Dilworth's theorem
dimension
directed cactus graph
directed minimum spanning tree
discrete logarithm
discrete ternary search
disjoint sets
distance
distance from point to line segment
distance on the perimeter of a rectangle
distances
divide and conquer
divide and conquer (google for Modern Computer Arithmetic)
divisibility
division
divisors
dominating set
dot product
doubly stochastic matrix)
DP
DP (or topological sorting)
d-regular bipartite multigraph
duckpin bowling
dynamic algorithm
Dynamic Biba integrity model
dynamic cumulative sum
edge disjoint
edit distance (Levenshtein)
editorial)
Edmond's Blossom Algorithm
Egyptian fractions
Egyptian number
eigenvalues
eigenvectors
elementary symmetric polynomials
ellipses
ellipsoid
encryption
equations
equilateral triangles
equivalence relations (see also 10158)
Erdos-Gallai condition
Euclid's extended algorithm
Euclid's formula
Euler phi/totient
Euler tour
Euler tour in a mixed graph
Euler's formula
evaluating a polynomial
evaluating arithmetic expressions
evaluating board positions
evaluating infix expressions
evaluating polynomials
even/odd numbers
exact rational arithmetic
exhaustive search
expectation
expected value
exponent
exponential search
exponentiation
extended Euclidean algorithm
extended gcd
extreme point in a given direction (or rotating calipers)
factoradics
factorial
factorial number system
factorials
factorials (or bignum)
factoring
factorization
farthest visible point
Fast Fourier Transform (FFT) (will get TLE)
fast I/O
fast simulation
fast simulation
Fenwick tree
Fibonacci numbers
fibonacci numbers using repeated squaring
fields
find element at given rank in a BST
finding an element at a given rank
finding LCA in a DAG
finding smallest and second smallest elements with the minimum number of comparisons
finding the lexicographically smallest solution
finding the size of the largest connected component
fingerprinting (or hashing)
finite fields
flips
floating point numbers
floating-point precision problems
flood fill
floors
Floyd's Cycle Finding Algorithm)
Floyd-Warshall
Floyd-Warshall (modified relaxation operation)
Floyd-Warshall (or BFS)
formatting numbers
formula for an arithmetic sequence
four-sided range queries
fractions
fractions (many
game theory
game tree evaluation
game trees (graphs)
games
Gauss sum
Gaussian elimination
gaussian elimination over the field F_2
gcd
generalized 15 puzzle
generating all combinations of r letters given n letters
generating permutations
generating subsets
geometric data structures
Gomory-Hu tree of minimum cuts (cut trees)
gradients
graph traversal
graphic sequence
gray code
great circle distances
greedy
grid packing
grids
group theory
grundy numbers
Hall's marriage theorem
Hamming cube
Hanoi towers with four pegs
happy numbers
hash tables
hashing
hashmap
hashtable
Havel-Hakimi)
heaviest edge on a cycle
height map)
Heron's formula
heuristics
hexagonal grid
Horner's rule
hotter colder
Hunt-Szymanski algorithm (optimized version)
hypercube graph
IDDFS (iterative deepening DFS)
identifying direct dependencies
impartial games
incidence matrix
incircle
in-circle
inclusion-exclusion principle (for queries)
independence of dimensions
index of least significant bit
induction
infinite geometric series
infix to postfix
insertion sort
integer square root
integer square root (or binary search)
integration
interchanging the order of summation
internal nodes
intersection
intersection of 3D boxes
intersection of convex polygons
intersection of cubes
interval compression
interval covering
interval data structure
intervals
invariants
inverse BWT
inverses
inversion counting (insertion sort)
isomorphism
iterating over all subsets of a set
iterative
Josephus problem
k shortest paths (k=2
K shortest paths (K=2)
Karp's minimum mean-weight cycle algorithm
keeping track of the connected components
kinematics formulas
Kirchhoff's matrix tree theorem
KMP algorithm)
knapsack
knight tour
Knight's tour
König's theorem
Kruskal's algorithm
k'th shortest paths
Kuhn-Munkres (Hungarian) algorithm
Langton's ant
latitude
lattice points
lattices
lcm
lcm of the first N integers
LCP
LCS (Longest Common Subsequence)
LCS (on words)
LCS on strings
LDS (longest decreasing subsequence)
leaves
left/right turn
Legendre Symbol
level order
lexicographic comparision
lexicographic order
lexicographically smallest solution
line and line intersection
line and line segment intersection
line gradients (slopes)
line intersection
line segment in polygon
line segment intersection
line segments
line slope
linear algebra
linear diophantine equations
linear extensions
linear ordering
linear programming
linear recurrences
linear search
linear searching
linear transformations
line-circle intersection
line-line intersection
lines
LIS (in O(nlogn)
LIS (longest increasing subsequence)
LIS (modified)
LIS (modified) (or LCS)
LIS (nonincreasing)
LIS (non-standard)
LL(1)
local maximum
logarithms
logic games
logic puzzles
long division
longest common substring
longest path (similar to DAG shortest paths)
longest paths
longest substring with no duplicate characters
longitude
look-and-say sequence
loop unrolling
lower bound
lower bound by finding maximum clique size
lowest common ancestor (LCA) queries
Mandelbrot set
manhattan distance
manhattan metric
mantissa
many special cases)
maps
matchings
matrices
matrix multiplication
matrix properties
max cut
max-cost flow
max-cost max-flow
max-flow
max-flow (or maximum cardinality bipartite matching)
max-flow min-cut theorem
maximal sets
maximal viewing angle of a convex polygon from a circle
maximising a product
maximization of a function
maximum 1D sum
maximum 2D sum
maximum 2D sum (special case
maximum 3D sum (similar to UVA 108)
maximum area empty rectangle
maximum cardinality bipartite matching
maximum cardinality matching in general graphs (nonbipartite)
maximum consecutive 1D sum
maximum consecutive subsequence in 1D (maximum 1D sum)
maximum cost weighted maximum cardinality bipartite matching
maximum flow
maximum independent set
maximum independent set in a bipartite graph
maximum number of edge-disjoint spanning trees in a complete graph
maximum number of regions
maximum repeated substring of a fixed length
maximum spanning tree
maximum sum in 2D (see UVA 108)
maximum-cardinality bipartite matching
mazes
McCarthy 91 function
median of trapezoid
median selection
meeting probabilities
memoization
memoization (or graph theory
merge sort
merging intervals
min-cost circulation
min-cost max-flow
min-cost max-flow
min-cut
min-cut (not s-t min-cut)
minimal bounding circle for triangles
minimal period
minimization
minimizing/maximizing a product when the sum is constant
minimum area enclosing rectangle
minimum bandwidth problem
minimum cost arborescence
minimum cost maximum matching in general graphs
minimum cost weighted bipartite matching (min-cost max-flow)
minimum cut
minimum diameter spanning tree
minimum edge coloring of a bipartite graph
minimum lexicographic rotation
minimum mean-weight cycle
minimum number of insertions needed to make a string palindromic
minimum number of swaps
minimum spanning tree
minimum vertex cover in a bipartite graph
minimum vertex cover in a tree
minimum weight maximal matching in general graphs)
modular arithmetic
modular congruences
modular inverses
modular inverses (modulo a prime)
modulo
modulo (bignum)
modulo (or cycle finding
monkey and coconut problem
Monty Hall problem (generalized)
Moore's Nim
Moser's circle problem
most significant bit
move-to-root
MST (maximum spanning tree)
MST (or Euclidean MST)
multimaps
multinomial coefficients
multiple sources
multiplication
multiplicative function
multivariate equations
N x N tic tac toe
NAND gates
necklaces
negative (positive) cycles
negative bases
negative weight cycle
nim
NP-complete
NP-hard
n'th root of an integer (can use builtin pow-function)
number guessing game
number of binary bracketings
number of bits
number of bracketings
number of comparisons
number of components
number of divisors
number of edge colorings of a cube under rotations
number of face colorings of a cube under rotations
number of internal nodes and leaves in a tree with degree n
number of lattice points on a line segment
number of leaves and internal nodes
number of non-attacking position of two queens on a m x n chessboard
number of non-negative integer solutions of x0 + x1 + + x_m = k
number of ordered binary trees with m edges
number of partitions of n into k distinct parts
number of partitions of n into parts whose greatest part is k
number of paths from s to t
number of paths of a fixed length
number of Pythagorean triples mod n
number of runs in a sequence (or DP)
number of sources
number of spanning trees of a complete bipartite graph
number of spanning trees of a graph
number of subsequences that are arithmetic progressions
number of terms in equation with degree n and v variables
number of topological sorts of a forest
number of triangles possible using sticks of length 1
number split
number theory
numerical analysis
numerical approximation
nurikabe
obtuse angles
odd cycles
odd numbers
OEIS (A062775)
one-phase simplex method
operator associativity
operator precedence
operator precedence grammar
optimal caching strategy
optimization
orbits
order of a permutation
palindromes
palindromes (or Knuth-Morris-Pratt
parse tree
parsing
partial derivatives
partial orders
partial sums
partially dynamic connected components
partitions
path cover
perfect numbers
perfect squares
perimeter
perimeter of polygon
periodicity
permutation encoding
permutations
perpendicular bisectors
physics
Pick's theorem
pigeonhole principle
Pisano period
Pisano period
planar point location
plane division by circles
plane geometry
playfair cipher
point in circle
point in convex polygon
point in plane
point in polygon
point in rectangle
point in simple polygon
point in triangle
point on line segment
points in figures
points in rectangles and circles
polygon intersection
polyminoes
polynomial interpolation
polynomials
postorder
powers
precalculation
precalculation (optimization)
prefix
prefix sums
prefix sums on rows
preorder traversal
pretty printing
primality testing
prime factorization
prime numbers
prime powers
primes
Prim's algorithm)
printing solution
printing the lexicograpically smallest solution
printing the path
printing the solution
priority queue
probability theory
probability theory (continuous)
product rule
profile DP
program equivalence
pruning
pseudopolynomial
pseudoprimes
puzzles
Pythagoras' theorem
Pythagorean triples
quadratic equations
quadratic equations (or binary search)
quadratic residues
queues
radius of triangle incircle
random walks
randomized algorithm
Range Maximum Query
range tree or similar)
rank of a matrix
ranking poker hands
rational arithmetic
reachability
reachability using k edges
reconstructing the path
reconstructing tree from DFS and BFS traversal
reconstructing tree from preorder and inorder
reconstructing tree from preorder and inorder traversal
rectangle
rectangle-rectangle intersection
rectangles
recurrences
recursion
recursive descent parsing
reduction
reduction from special case of LCS to LIS
reduction to max-cost max-flow
reduction to SAT
reflected binary code
reflection
relative primality
remainders
repeated squaring (modular)
repeated squaring (of matrices)
repeated squaring (on permutations)
repetitions
retrograde analysis
reusing the flow
river crossing problem
rolling hash
rolling the die
rooks
root finding
rotation matrices
rotations
run-length encoding
Rush Hour game
SAT
satisfiability
scalars
scheduling algorithms
searching
second-best MST
segmented sieve
set intersection
sets
shape of coincidence
shortest common supersequence
shortest path DAG
shortest paths
shortests paths
sieve
sieve (modified)
sign of a permutation
signed triangle area
similar to TSP
simple physics
simple polygons
simple recursive games
simulation
sine
sine theorem
single source shortest paths
slitherlink
slopes
small cases
smallest enclosing square
solution verification
solving game trees (graphs)
solving linear equation systems)
solving linear equations
some other fast LCS algorithm
sorting
sorting (or graph theory
sorting (or next_permutation in STL)
sorting by polar angle
space saving tricks (USACO problem
spanning trees
spherical coordinate system
splay tree
splitting set in two
spotting the pattern
Sprague-Grundy theorem
square numbers
square roots
SSSP
stack
Stoer-Wagner
straight lines
strcmp
strictly Egyptian number (A051882 on OEIS)
string algorithms
string manipulation
string matching
string period
strongly connected components
strongly connected components (or Floyd-Warshall/transitive closure)
subset sum
subspaces
substitution cipher
substring queries
substrings
subtraction
subtree sizes
sudoku
suffix
suffix arrays
suffix tree
sum of cubes
sum of first n integers
sum of squares
summations
sums of divisors
sums of i^th powers of the first n integers
super Catalan numbers
surface area
sweep line (or ad hoc: brute force
sweep line algorithm
sweeping
sweepline algorithm on a circle
sweepline by distance
sweepline in 1D
systems of linear equations
tangents
ternary search
testing if a graph is bipartite
testing if a polygon is convex
the dartboard sequence
the sequence iA mod B for i=0B-1 (or graph traversal
tic-tac-toe
tiling
tiling with L-pieces
topological sorting
tournament tree
towers of hanoi
transitive closure
traversal
tree isomorphism
tree traversal
trial division
triangle area
triangle area from medians
triangles
triangular grids
triangular numbers
triangulation
trie
trigonometry
TSP
turing machine
type checking
union-find
union-find (or binary search)
union-find (or DFS)
union-find tree (using only union by rank or union by size)
variation of edit distance
vector equation of a line
vectors
velocity
verifying correctness of an incidence matrix
verifying if a solution is valid
vertex capacities
vertex coloring
vertex constraints
volume of a cylinder
volume of union of 3D boxes
weighted LIS
weighted maximum cardinality bipartite matching
winning/losing positions
xor
Zeckendorf representation