AtCoder Learning Path

A detailed roadmap to conquer programming contests on AtCoder, from beginner to expert.

Back to Roadmap
Phase Main Topic Content Goal
1 Fundamentals
  • Choose Language (C++)
  • Big O Notation
  • Setup Environment
Master the language and fundamental knowledge to get started.
2 Gray → Brown (Rating < 800)
  • Participate in AtCoder Beginner Contests
  • Basic Math & Strings
  • Practice problems A, B
Get familiar with the platform and solve easy problems.
3 Brown → Green (800-1200)
  • Conquer problem C (ABC)
  • Core Algorithms
  • Practice Upsolving
Solve medium problems and learn core algorithms.
4 Green → Blue (1200-1600)
  • Conquer problem D (ABC)
  • Educational DP Contest
  • Data Structures (Union-Find, BIT)
  • Participate in ARC
Master dynamic programming and basic data structures.
5 Blue → Yellow (1600-2000)
  • Advanced Algorithms
  • Advanced Data Structures
  • Practice ARC (B & C)
Solve hard problems with advanced techniques.
6 Yellow → Red (2000+)
  • Conquer AtCoder Grand Contest
  • Specialized Topics
  • Analyze Contests & Editorials
Compete at the highest level and gain deep insight into problems.

Core Mindsets for AtCoder Competitors

1. Speed & Precision Matter

AtCoder rewards fast, correct submissions. Practice coding common patterns quickly and double-check logic and edge cases before submitting to avoid penalties.

2. Find the Hidden Math

Many AtCoder problems are disguised math puzzles. Look for patterns, properties, and invariants. A simple observation can often reduce a complex problem to a few lines of code.

3. Constraints Are Clues

Problem constraints are powerful hints about the required time complexity. Use them to guide your choice of algorithm (e.g., N=10^18 often implies math, not loops).

4. Embrace the Upsolve

The real learning happens after the contest. Systematically study and solve the problems you couldn't during the competition. Analyze editorials to understand the intended solutions.