teacher
Sign in

Start Here

How this track is organised, how Codeforces works, and the practice loop that actually raises your rating.

15 minCF 800–10004 interactive6 problems

What this track is

This track teaches competitive programming (solving short, precisely specified problems against a time limit) and the data structures and algorithms (DSA) behind it. The lessons are grouped by topic, in the order you should meet them: foundations first, contest craft last. Each stage has a milestone you can check against a real rating.

StageWhat you learnMilestone
FoundationsReading problems, I/O, complexity, math, sorting, STLSolve most 800-1000 rated problems
Arrays and searchingPrefix sums, hashing, two pointers, windows, binary search, stacksPupil (1200)
Recursion and bitsRecursion, backtracking, bit tricksRecursive search feels routine
Greedy and constructionBuild an answer, justify a greedy choice, sweep intervalsConstructive and greedy B problems
Counting and number theoryPrimes, modular arithmetic, countingSpecialist math
Trees and graphsHeaps, trees, BFS and DFS, shortest paths, DSUSpecialist (1400-1600)
Dynamic programmingStates, transitions, then trees, masks and digitsExpert (1600+)
Range queriesSparse tables, Fenwick and segment treesRange queries around 1700-2000
Advanced treesLowest common ancestors, Euler tours, small-to-largeTree problems beyond one DFS
StringsHashing, pattern matching, triesStandard string problems
Advanced topicsGames, expected value, matrix powers, connectivityCandidate Master ideas
Contest craftInteractive problems and how you trainCandidate Master (1900+)
1 of 8