Concepts116

⚙️AlgorithmIntermediate

Rotating Calipers

Rotating calipers is a geometric two-pointer technique that sweeps two (or more) parallel support lines around a convex polygon.

#rotating calipers#antipodal pairs#convex hull+12
⚙️AlgorithmIntermediate

Basic Geometry - Lines and Segments

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.

#line intersection#segment intersection#orientation test+12
⚙️AlgorithmAdvanced

Suffix Array Construction

A suffix array stores the starting indices of all suffixes of a string in lexicographic order, enabling fast substring queries and many string operations.

#suffix array#lcp array#kasai+12
⚙️AlgorithmIntermediate

Convex Hull

The convex hull is the smallest convex polygon that contains all given points, like a rubber band snapped around nails on a board.

#convex hull#graham scan#monotone chain+12
⚙️AlgorithmIntermediate

Minimum Rotation

The minimum rotation of a string is the lexicographically smallest string you can get by cutting it at some position and swapping the two parts.

#minimum rotation#booth algorithm#duval algorithm+12
⚙️AlgorithmIntermediate

Point in Polygon

Point-in-polygon decides whether a point lies outside, inside, or on the boundary of a polygon.

#point in polygon#ray casting#winding number+11
⚙️AlgorithmIntermediate

Orientation and CCW

Orientation (CCW test) tells whether three points make a left turn, right turn, or are collinear by using the sign of a 2D cross product.

#orientation#ccw#cross product+12
⚙️AlgorithmIntermediate

Basic Geometry - Points and Vectors

A 2D point can be treated as a vector from the origin, so vector math (addition, scaling, dot, cross) applies directly to points.

#geometry#vector#dot product+11
⚙️AlgorithmAdvanced

Lyndon Factorization

A Lyndon word is a string that is strictly smaller (lexicographically) than all of its nontrivial rotations.

#lyndon word#duval algorithm#booth algorithm+12
⚙️AlgorithmAdvanced

Broken Profile DP

Broken Profile DP is a dynamic programming technique that sweeps a grid one cell or one column at a time while encoding the boundary between processed and unprocessed cells as a compact state.

#broken profile dp#profile dp#plug dp+11
⚙️AlgorithmIntermediate

KMP - Prefix Function Applications

The prefix function π of a string tells, for every position, the length of the longest proper prefix that is also a suffix of the prefix ending there.

#kmp#prefix function#failure function+11
⚙️AlgorithmIntermediate

Z-Function

The Z-function of a string S computes for each position i the length of the longest substring starting at i that matches the prefix of S.

#z-function#z algorithm#string matching+12