Groups
Category
Level
Tree isomorphism asks whether two trees have exactly the same shape, ignoring vertex names.
Randomized algorithms use coin flips (random bits) to guide choices, often making code simpler and fast on average.
Matrix exponentiation turns repeated linear transitions into a single fast power of a matrix using exponentiation by squaring.
Small-to-large merging is a technique where you always merge the smaller container into the larger one to guarantee low total work.
Mo's algorithm answers many range queries offline by reordering them to minimize pointer movement along the array.
Pick's Theorem connects area and lattice-point counts for any simple polygon with integer-coordinate vertices.
Meet-in-the-middle splits a hard exponential search into two halves, enumerates each half, and then combines results efficiently.
The closest pair of points problem asks for the minimum Euclidean distance between any two points in the plane.
Line sweep (plane sweep) is a technique that processes geometric objects by moving an imaginary line and handling events in sorted order.
The signed area of a simple polygon can be computed in O(n) using the shoelace formula, which sums cross products of consecutive vertices.
Rotating calipers is a geometric two-pointer technique that sweeps two (or more) parallel support lines around a convex polygon.
A line can be represented by two points, a point with a direction vector, or the general form ax + by + c = 0, and these forms are interconvertible.