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
indexpage 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
| Page | What’s in it |
|---|---|
| Complexity Theory | Big-O, classes, P vs NP, reductions |
| Algorithmic Paradigms | Greedy, D&C, DP, flows, randomization, … |
| Programming Paradigms | Imperative, OOP, functional, generic |
| Proof Techniques | Induction, contradiction, exchange argument |
| CP Workflow | Reading constraints, debugging, stress testing |
| Common Pitfalls | Overflow, precision, UB, off-by-one |
Core Branches
| Branch | Focus |
|---|---|
| Number Theory | Primes, modular arithmetic, factorisation, residues |
| Mathematics | Combinatorics, probability, linear algebra, matrices |
| Bit Manipulation | Masks, submasks, SOS DP, bitset tricks |
| Data Structures | Arrays through link-cut trees |
| Range Query Techniques | Sparse tables, sqrt decomposition, offline queries |
| Graph Theory | Traversal, shortest paths, flows, trees, matching |
| Dynamic Programming | States, transitions, optimisations |
| Strings | Hashing, automata, suffix structures |
| Geometry | Vectors, hulls, sweeps, circles |
| Numerical Methods | Binary/ternary search, Newton, precision |
| Polynomial / Algebra | FFT, NTT, formal power series |
| Game Theory | Nim, Grundy, minimax |
| Constructive Algorithms | Building valid answers directly |
| Scheduling | Interval/job scheduling, exchange arguments |
| Randomized / Approximation | Monte Carlo, Las Vegas, ratio bounds |
| Exact / NP-Hard | Backtracking, branch & bound, meet in the middle |
| Miscellaneous | Everything that resists classification |
Catalogs
- 🪬 Named Algorithms — the full A→Z list
- 📚 Data Structure Catalog — every structure, with a one-line “when to use”
- 🧊 Templates — contest template, I/O, debugging harness
- 💎 Snippets — small reusable fragments
- 🧩 Classical Problems — named puzzles and their standard solutions
- 🐟 Resources — books, blogs, judges, problem sets, tools
- 🗺️ Learning Roadmap — an ordered path from zero to Div 1
Study Tracks
Not sure what to learn next? Follow one of these in order.
Beginner → Div 2 A/B/C
- Complexity Theory (just the Big-O part)
- Arrays, Stacks, Queues · Sorting
- Binary Search · Two Pointers
- Intro to DP · Knapsack
- BFS · DFS · Topological Sort
- Binary Exponentiation · Modular Arithmetic
Div 2 C/D → Div 1 A
- Segment Tree · Fenwick Tree · DSU
- Dijkstra · Kruskal · LCA
- Bitmask DP · Tree DP · Digit DP
- Hashing · KMP / Prefix Function · Z-Function
- Totient · Primality · Combinatorics