Skip to content

Practice Ladders

Practice ladders are the focused practice layer of this repo.

Use a ladder when you already know the rough idea and want enough same-family reps to make recognition and execution stable.

What This Layer Is For

Use ladders when:

  • you want to stay inside one subtopic long enough to stop guessing
  • the topic page made sense, but you still need deliberate repetition
  • you want a small ordered progression instead of a random judge list

Do not use ladders as the first door when:

  • syntax or local workflow is still the bottleneck next door: Start Here
  • you cannot yet explain why the technique works next door: Learning Areas
  • you want contest-style switching across several families next door: Mixed Rounds

The Default Ladder Loop

The repo-wide default loop is:

  1. read one topic page in topics/
  2. open the corresponding ladder here
  3. solve one anchored repo note
  4. compare your solution against the note's Recognition Cue and Problem-Specific Transformation
  5. reopen Notebook or Build Kit only if retrieval or implementation is the weak point
  6. move to Mixed Rounds or a track playbook only after the family feels stable

Choose A Ladder

If you need reps in... Start with Representative first note
C++ workflow and first contest habits Foundations -> C++ Language Weird Algorithm
bread-and-butter array patterns Foundations -> Prefix Sums Static Range Sum Queries
ordered scans and greedy matching Foundations -> Two Pointers Apartments
connectivity and offline unions Data Structures -> DSU C11XU
range queries and updates Data Structures -> Fenwick Tree CVP00001
state design over subsets or sequences DP -> Bitmask DP VMMARBLE
trees, paths, and graph structure Graphs -> LCA or Graphs -> Tree DP Company Queries II or VOSTRIP
string matching and reuse of prefix structure Strings -> KMP or Strings -> Trie String Matching or Word Combinations
geometric predicates and polygon basics Geometry -> Vector And Orientation Point Location Test
advanced modeling / olympiad-style construction Advanced -> Constructive Build the Permutation

What To Do Inside One Ladder

Use the same rhythm for every mature ladder:

  1. read the ladder page to see scope, entry gate, and nearby topics
  2. solve the first note with an honest no-notes attempt
  3. read only the note sections that reveal the transformation you missed
  4. write or clean one reusable solution
  5. move to the next note only after the cue and invariant feel transferable

Exit Doors

When a ladder exposes a weakness, use the smallest next door:

If the problem is... Reopen
I still do not trust the idea the corresponding tutorial in topics/
I know the idea but my code drifts Build Kit
I know the family and need more reps Problem Finder
I know several ladders and switch badly Mixed Rounds
I am now training toward one format Contest Playbooks

Representative Ladder Doors

Ladder Contract

Every mature ladder should make these things easy to answer:

  • what this subtopic is really for
  • which repo notes are the best first anchors
  • which topic page to reopen when the idea is still fuzzy
  • which template or notebook page helps when implementation is the weak point
  • where to go next after the ladder is no longer the bottleneck