Introduction
Axioms
cp4cpp.com stands for Competitive Programming for C++.
CP4CPP treats competitive-programming knowledge as a growing forest of trees:
- each knowledge unit is a node
- each problem is a directed edge between nodes
- each edge has weight, cost, and clarity
- learning means traversing useful paths, not only increasing solved count
- each navigation defines one learning style based on the shared axioms
Rule Language
| Word | Force | Meaning |
|---|---|---|
| MUST | Non-negotiable | Breaking it harms structure, trust, readability, or long-term maintainability. |
| SHOULD | Strong default | Follow it unless there is a real reason not to. |
| MAY | Optional freedom | Allowed when useful, but not required everywhere. |
Current Work
- Review old projects.
- Review each project’s original time or published time when it can be proven.
- Review related subprojects.
- Explain each project in a small number of sentences.
- Use three-letter navigation paths such as
cp4cpp.com/cpp. - Include examples that make each project easier to remember.
- Record the technology, framework, host, or publishing form.
- Find the reasons each old attempt failed.
One System
cp4cpp.com is not a random collection of pages.
Each navigation has its own job, reason to exist, and way to help learners. The navigations must stay different in purpose, but they must not behave like isolated islands.
A good navigation is strong on its main job, clear on its boundary, and useful to the other navigations when overlap creates value.
MICRO
All navigations follow one shared base:
- Minimal: keep only what has clear value, clear scope, and clear reason.
- Interactive: support feedback, exploration, or useful actions that improve understanding.
- Consistent: terms, hierarchy, tags, formats, and design rules must not fight each other.
- Readable: content must be understandable by normal readers, not only strong experts.
- Optimizable: every part should be improvable, reusable, refactorable, and not badly locked.
Navigation Summary
| Path | Role | Learning Style |
|---|---|---|
/cpp | Contest C++ Reference | Root-like prerequisite lookup |
/doc | Competitive Programming Handbook | BFS-like topic lookup |
/edu | Guided Learning Paths | DFS-like ordered progression |
/fun | Tricks Tips Templates | Leaf-like specific techniques |
/gen | Testcase Generator Toolkit | Edge-like setter workflow |
/sim | Simulate Interactive Maths | Replay and inspect processes |
/tag | Taxonomy Analytics Guidance | Meta-structure for learning |
/yps | Your Personal System | Personal review and notes |