Competitive Programming, Taught Like A Real Curriculum¶
From first prefix sums to contest-ready problem solving
competitive-programming-cpp is a C++ algorithms guide built for people who want a learning path, not just a pile of snippets. It combines topic order from strong university courses, practice taste from major contests, and implementation habits that hold up in real competition.
Start With One Door¶
-
I am new to CP
Use one guided entry page instead of choosing between topics, ladders, and tools too early.
-
I know the weak topic
Open the teaching-first area map, then go into one family on purpose.
-
I need today's next training set
Use ladders, mixed rounds, and contest playbooks once the topic is roughly known.
-
I know the idea but need the snippet
Reopen the smallest useful retrieval layer: template, notebook, or workflow page.
Default Learner Rail¶
If you want one calm default path, use this:
Start Here -> Foundations -> one ladder -> one anchored note -> Data Structures -> Graphs -> Dynamic Programming -> Math
Tier Guide¶
Core Bridge Deep Enrichment
Core: first-wave curriculum families you should expect to revisit oftenBridge: pages that reconnect fragmented families before you dive deeperDeep: serious later-stage lanes with heavier retrieval costEnrichment: breadth or theory spillover that is useful, but not the default next step
The Site Has Four Jobs¶
| Job | Open this first | Use it for |
|---|---|---|
Learn |
Learning Areas | understanding the idea, invariant, and sequencing |
Practice |
Practice hub | solving targeted ladders, notes, and mixed rounds |
Retrieve |
Build Kit | reopening snippets, workflows, and checklists under pressure |
Track |
Contest Playbooks | shaping practice for ICPC, USACO, or olympiad-style goals |
If you want the fuller chooser by bottleneck or contest format, open Route Map.
Best way to use this site
Read one topic page, solve one targeted problem, then write or adapt one clean C++ implementation. That loop is what turns reading into contest skill.
What This Repo Already Covers¶
If you want one picture before choosing a route, use the taxonomy view.
Open Deep Topic Taxonomy when the question is:
- what families already exist in the repo
- where one advanced lane sits relative to its siblings
- how broad the bridge-plus-deep surface already is
Support The Project¶
If this repo saves you time, helps your training, or gives you a cleaner way to learn algorithms, you can support the project here.