Skip to content

Route Map

Use this page when you do not need the repo explained section by section.

Use it when you need one of these instead:

  • one route that fits your current level
  • one route that fits your current bottleneck
  • one route that fits your contest track

This page uses learner Stage 1-4 language. If you want the content-progression map by area, use the curriculum Level 0-5 view in Project Overview.

One Chooser Before Doors

Route chooser by bottleneck

How To Read This Diagram

What to notice:

  • the first question is not "which algorithm family do I like?" but "what is actually slowing me down right now?"
  • each branch ends at one primary door, not a long list

Why it matters:

  • this page exists to reduce routing noise; if the first decision is clean, the rest of the repo becomes much easier to use on purpose

Door bridge:

  • Start Here is for full beginner routing
  • Learning Areas is for topic-first depth
  • Practice hub / ladders / problem finder is for more reps
  • Contest Playbooks is for format-specific training
  • Build Kit / Notebook is for retrieval and implementation pressure

Boundary:

  • the diagram is a first door chooser only; once you open a door, the detailed routing tables below are still the authoritative next-step map

Pick By Situation

If you are here because... Start with Then go next
you are completely new Start Here Foundations ladders
you want a learner-stage route instead of a topic list Start Here the Learner Stage Plan section there, then either Foundations ladders, Learning Areas, Practice hub, or Contest Playbooks
you know basics but your practice is inconsistent Practice hub Ladders
you already know the weak topic Learning Areas the corresponding ladder, then one repo note
you want contest-style training Contest Playbooks Mixed Rounds and Problem Finder
you are debugging or implementing under pressure Build Kit Notebook

Door Meanings

Use the repo doors for different jobs:

Door Main job Open it when...
Topics teach the idea slowly and correctly you still need the invariant, proof, or variant chooser
Ladders give focused same-family repetitions the idea is roughly known but recognition is not yet stable
one solved note in practice/ladders/.../*.md show the statement-to-pattern transformation you want to compare one real contest problem to the reusable family
Notebook recall the invariant, trap, or nearest snippet fast the topic is mostly known and retrieval is the bottleneck
Build Kit route to workflows, templates, and checklists implementation trust is weaker than topic understanding
Mixed Rounds test switching across known topics breadth and retrieval are now the real bottleneck
Contest Playbooks train toward one format your question is about performance under ICPC, USACO, or olympiad-style constraints

Route Shapes

Beginner Route

  1. Start Here
  2. Foundations overview
  3. Foundations ladders
  4. one first repo note inside the ladder
  5. Foundations cheatsheet

Use this when syntax, local workflow, and first recognition cues are still the bottleneck.

Topic-First Route

  1. Learning Areas
  2. one area overview
  3. one leaf topic page
  4. the corresponding ladder
  5. one repo note
  6. Build Kit or Notebook only after the idea is trusted

Use this when you want depth before speed.

Practice-First Route

  1. Practice hub
  2. Problem Finder
  3. one ladder or one mixed round
  4. the corresponding topic page only when recognition is fuzzy
  5. Notebook or Build Kit when retrieval or implementation becomes the bottleneck

Use this when you already know some ideas and need more reps, not more taxonomy.

Contest Route

  1. Contest Playbooks
  2. one track page: USACO, IOI / OI, or ICPC
  3. Mixed Rounds
  4. Notebook
  5. Build Kit

Use this when your question is no longer “what is this algorithm?” and is now “how do I perform under this format?”

Pick By Bottleneck

Your bottleneck Best first door Best second door
weak C++ / compile / local loop Start Here Build Kit
weak topic recognition Learning Areas Ladders or one anchored note
weak retrieval during implementation Notebook Template Library
weak problem selection Problem Finder Practice hub
weak contest switching Mixed Rounds Contest Playbooks
weak post-contest follow-through Contest Playbooks Problem Finder

High-Value Bridge Pages

These are the family pages worth reopening before you dive into a narrower leaf, especially when the repo starts feeling wider than your current mental map.

If the family feels fragmented Reopen this bridge page first Then branch into...
tree topics Trees Euler tour, LCA, tree DP, HLD, virtual tree
flow and cut topics Maximum Flow global min-cut, Gomory-Hu, lower bounds, min-cost flow
divisibility and congruence topics GCD / LCM CRT, modular arithmetic, prime-exponent constructions
transform topics FFT / NTT polynomial / FPS
subset-state bit work Bit Tricks bitmask DP, xor basis, SOS, FWHT, bit-parallelism
explicit search trees Recursion And Backtracking bitmask DP, meet-in-the-middle, complexity triage
monotone scan structures Monotonic Stack / Queue sliding-window extrema, nearest-greater/smaller, histogram boundaries

The Core Loop

When in doubt, fall back to this:

  1. learn one idea in topics/
  2. stay inside the corresponding ladder in practice/ladders/
  3. solve one anchored note there
  4. reopen one reusable snippet or workflow through Build Kit
  5. compress the invariant in Notebook
  6. return later through Mixed Rounds

That is the repo's default Learn -> Practice -> Retrieve -> Reuse -> Switch loop.

Good Companion Doors