Everything in Hypercube, in one place. Start anywhere — the pages are cross-linked, so following a link is usually faster than searching.

How this wiki is organised

  • Branches are conceptual topics (graphs, DP, strings, …). Each has an index page listing its notes.
  • Named Algorithms is a flat catalog: one page per algorithm that has a person’s name attached to it.
  • Templates and Snippets are copy-paste ready code.
  • Base is the master checklist that tracks what exists and what is still missing.

Foundations

PageWhat’s in it
Complexity TheoryBig-O, classes, P vs NP, reductions
Algorithmic ParadigmsGreedy, D&C, DP, flows, randomization, …
Programming ParadigmsImperative, OOP, functional, generic
Proof TechniquesInduction, contradiction, exchange argument
CP WorkflowReading constraints, debugging, stress testing
Common PitfallsOverflow, precision, UB, off-by-one

Core Branches

BranchFocus
Number TheoryPrimes, modular arithmetic, factorisation, residues
MathematicsCombinatorics, probability, linear algebra, matrices
Bit ManipulationMasks, submasks, SOS DP, bitset tricks
Data StructuresArrays through link-cut trees
Range Query TechniquesSparse tables, sqrt decomposition, offline queries
Graph TheoryTraversal, shortest paths, flows, trees, matching
Dynamic ProgrammingStates, transitions, optimisations
StringsHashing, automata, suffix structures
GeometryVectors, hulls, sweeps, circles
Numerical MethodsBinary/ternary search, Newton, precision
Polynomial / AlgebraFFT, NTT, formal power series
Game TheoryNim, Grundy, minimax
Constructive AlgorithmsBuilding valid answers directly
SchedulingInterval/job scheduling, exchange arguments
Randomized / ApproximationMonte Carlo, Las Vegas, ratio bounds
Exact / NP-HardBacktracking, branch & bound, meet in the middle
MiscellaneousEverything that resists classification

Catalogs

Study Tracks

Not sure what to learn next? Follow one of these in order.

Beginner → Div 2 A/B/C

  1. Complexity Theory (just the Big-O part)
  2. Arrays, Stacks, Queues · Sorting
  3. Binary Search · Two Pointers
  4. Intro to DP · Knapsack
  5. BFS · DFS · Topological Sort
  6. Binary Exponentiation · Modular Arithmetic

Div 2 C/D → Div 1 A

  1. Segment Tree · Fenwick Tree · DSU
  2. Dijkstra · Kruskal · LCA
  3. Bitmask DP · Tree DP · Digit DP
  4. Hashing · KMP / Prefix Function · Z-Function
  5. Totient · Primality · Combinatorics

Div 1 → ICPC Regionals

  1. Max Flow · MCMF · 2-SAT
  2. FFT / NTT · Formal Power Series
  3. Suffix Automaton · Suffix Array · Eertree
  4. HLD · Centroid Decomposition · Link-Cut Tree
  5. D&C DP · CHT · Aliens Trick
  6. Convex Hull · Half-Plane Intersection · Minkowski Sum