Skip to content

Start Here

If you are not sure where to begin, use this page instead of browsing the repo randomly.

The goal is simple:

  • pick one clear route
  • ignore the advanced doors for now
  • finish a small first week that already feels like real progress

Who This Page Is For

Use this page if any of these sound like you:

  • you are new to competitive programming
  • you know some syntax, but do not yet have a stable practice loop
  • the repo looks rich, but you are not sure which page is the real first page

Quick Audience Fork

Use the smallest route that matches your situation:

  • completely new: stay on this page and follow the First 3 Pages and First 3 Repo Notes
  • returning after a break: reopen Foundations cheatsheet, solve one short ladder note, then continue from Your First Week
  • you already know the weak topic: do not force the full beginner loop; go to Route Map or Problem Finder

What To Ignore For Now

Do not start with these unless you already know why you need them:

  • Topic Maps
  • External Problem Index
  • Mixed Rounds
  • Advanced
  • Contest Playbooks

They are useful later, but they are not the best first door for a beginner.

Best First Route

If you want one default route, use this:

  1. Foundations overview
  2. Foundations ladders
  3. one first repo note inside that ladder
  4. Foundations cheatsheet only after the note exposes a retrieval gap

That route works because it gives you:

  • one teaching layer
  • one practice layer
  • one real problem anchor
  • one quick-reference layer

This is the smallest version of the repo-wide loop:

topic -> ladder -> note -> cheatsheet/build kit

One Calm Beginner Rail

Default beginner rail

How To Read This Diagram

What to notice:

  • the route is intentionally narrow at the start: one topic rail, then one note rail, then one retrieval door only when needed
  • the "ignore for now" box is part of the route, not an afterthought

Why it matters:

  • beginners often lose momentum by opening too many good pages too early
  • this rail is designed to create one real study loop before the rest of the repo's width becomes useful

Code and workflow bridge:

  • the first pages feed directly into one local compile/run loop, then one first note, then one retrieval layer such as the cheatsheet or build kit

Boundary:

  • this is a default rail, not a prison; if you already know the weak topic or are returning after a break, the lighter branch in Quick Audience Fork is still the right choice

First 3 Pages

Open these in order:

  1. C++ Language For Contests
  2. Reasoning And Implementation Discipline
  3. Prefix Sums

Those three are enough to build a real local loop:

  • write code comfortably
  • debug by meaning and invariant
  • solve at least one standard static-query problem cleanly

If Day 1 still feels shaky, keep these open beside the first page:

First 3 Repo Notes

Solve these in order:

  1. Weird Algorithm
  2. Missing Number
  3. Increasing Array

Optional next two if you still feel good:

  1. Static Range Sum Queries
  2. Ferris Wheel

Your First Week

If you want a concrete seven-day rhythm:

  1. Day 1: read C++ Language, open Build Kit, use Template Library to find contest-main.cpp and fast-io.cpp, compile the starter once with the release build, rerun it once with the debug build, then solve Weird Algorithm
  2. Day 2: solve Missing Number and Distinct Numbers
  3. Day 3: read Reasoning and solve Increasing Array
  4. Day 4: read Sorting and solve Ferris Wheel
  5. Day 5: read Binary Search and solve Factory Machines
  6. Day 6: read Prefix Sums and solve Static Range Sum Queries
  7. Day 7: read Two Pointers and solve Apartments

What “Good Progress” Looks Like

By the end of that route, you do not need to know graphs, DP, or suffix structures yet.

You only need to be able to:

  • compile and run C++ comfortably
  • explain what your main variables mean
  • recognize sorting, prefix sums, and simple two-pointer scans
  • solve a few clean CSES-style tasks without guessing

That is already a strong start.

Which Workflow To Use Right Now

Use the smallest workflow that matches the task:

Do not escalate too early. Most beginner problems should stay in the first bucket.

Continue Here Next

If the first week went well, use this exact next route:

  1. Foundations ladders
  2. Data Structures overview
  3. DSU or Fenwick Tree
  4. the corresponding ladder and one anchored note
  5. Practice hub only after you want more than one ladder at a time

If you want a broader chooser instead of that default handoff:

If You Still Feel Lost After Week One

Use the smallest next door that matches the problem: