Practice¶
Deliberate repetition, not random grinding
Practice is organized by topic first, not only by judge. The goal is to help you learn an idea,
solve targeted problems, and come back for repetition without losing the connection between concept and use.
Choose A Practice Mode¶
-
Ladders
Stay inside one topic long enough to build recognition and clean execution.
-
Problem Finder
Use one searchable doorway when you know the weak topic, want the next good set quickly, or need a
resume / review / fresh follow-upqueue. -
Mixed Rounds
Mix areas on purpose when you want retrieval practice, breadth, and contest-style switching. The starter packs are best after you already have one pass through the corresponding ladders.
-
Contest Playbooks
Train toward a contest style such as
Codeforces,ICPC,USACO, or olympiad-style prep with clearer workflow guidance.
The Default Practice Loop¶
Use the repo layers in this order whenever possible:
- learn the idea in
topics/ - stay in one family through Ladders
- compare against one solved note
- reopen Notebook or Build Kit only if retrieval or implementation is the bottleneck
- move to Mixed Rounds or Contest Playbooks only after the family is already familiar
That is the default topic -> ladder -> note -> retrieve -> switch loop of the repo.
Session Shapes¶
Use one of these when you want the repo to feel like a training system, not a library shelf.
| Session shape | Start with | Best follow-through |
|---|---|---|
Resume queue |
Problem Finder with Resume attempted |
reopen the topic only if recognition is shaky, then finish the note |
Review queue |
Problem Finder with Review solved |
one repo note, then one fresh external rep |
Fresh external reps |
Problem Finder with Fresh external or Core external set |
reopen the corresponding topic map or ladder only if the new rep exposes drift |
Codeforces short round |
Contest Playbooks via Codeforces | Codeforces Short Round 01, then Codeforces Upsolve Worksheet |
Switch drill |
Mixed Rounds | Notebook or Build Kit only after the round shows a real gap |
Track-specific block |
Contest Playbooks | return to Problem Finder for the next concrete queue |
Choose By Bottleneck¶
| If your bottleneck is... | Best first door | Then |
|---|---|---|
| I need the next good problems | Problem Finder | the corresponding ladder or playbook |
| I need a clean resume or review queue | Problem Finder | the corresponding note, ladder, or mixed round |
| I want Codeforces-style short-round shipping or anti-hack practice | Codeforces | Codeforces Short Round 01 or Anti-Hack Workflow |
| I am still learning one topic | the corresponding topic page in topics/ | Ladders |
| I know several topics but switch badly | Mixed Rounds | Notebook |
| I care about one contest format now | Contest Playbooks | Problem Finder |
How To Use Problem Notes¶
-
Read the recognition cue first
Check the topic, subtype, and recognition sentence before reading the solution. That keeps your practice tied to pattern recognition instead of only code recall.
-
Compare the transformation, not just the answer
Ask what changed between the raw statement and the reusable topic pattern. That delta is usually what you want to remember for the next problem.
-
Track status honestly
Keep
todo,attempted,solved, andreviewedmeaningful so the repo becomes a real training log.
Browse The Catalog¶
- Problem index: one table for every currently tracked solved note, with links to the note, code, ladder, and tutorial hub
- External problem index: curated official and trusted problems outside the repo, organized by topic and usable as the next practice queue
- Topic maps: source-backed pages for each subtopic, including learning references, exact practice sources, follow-up reading, and every repo problem tagged there
After One Practice Session¶
- weak topic recognition -> reopen the corresponding tutorial in Topics
- weak family-level repetition -> stay inside Ladders for one more note set
- weak implementation trust -> reopen Build Kit
- weak retrieval under pressure -> reopen Notebook
- weak contest-time behavior -> reopen Contest Playbooks
- weak Codeforces short-round shipping or hack discipline -> reopen Codeforces and Anti-Hack Workflow
Path Shapes¶
practice/ladders/<area>/<subtopic>/<problem-code>.md
practice/mixed-rounds/<pack>.md
practice/contest-playbooks/<track>.md
Contributor note contract lives here:
Best way to use this section
Read one topic page, pause at Recognition Cue, solve or re-solve the problem, then compare your transformation against the stored note before reading the code.
Current Examples¶
Data Structures¶
Graphs¶
- QBFLOWER - Tặng hoa
- FFLOW - Fast Maximum Flow
- MCQUERY - MinCut Query
- MINCOST - Luồng với chi phí nhỏ nhất
- QOS - Chất lượng dịch vụ
- MTREECOL - Color a tree
- VMWTREE - Lại là cây khung
- VOSTRIP - VOSTRIP
DP / Greedy¶
Math / Combinatorics¶
- POST2 - A cộng B version 2
- CRYPTKEY - Chìa khóa mã số
- LAMP - Dàn đèn màu
- Counting Necklaces
- VOSFENCE - Xay hang rao
- VOITSORT - Cây hoán vị