Skip to content
CP4CPP/intro.intro:intro #introduction#axioms
Theme

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

WordForceMeaning
MUSTNon-negotiableBreaking it harms structure, trust, readability, or long-term maintainability.
SHOULDStrong defaultFollow it unless there is a real reason not to.
MAYOptional freedomAllowed 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.
PathRoleLearning Style
/cppContest C++ ReferenceRoot-like prerequisite lookup
/docCompetitive Programming HandbookBFS-like topic lookup
/eduGuided Learning PathsDFS-like ordered progression
/funTricks Tips TemplatesLeaf-like specific techniques
/genTestcase Generator ToolkitEdge-like setter workflow
/simSimulate Interactive MathsReplay and inspect processes
/tagTaxonomy Analytics GuidanceMeta-structure for learning
/ypsYour Personal SystemPersonal review and notes