π§ BOOKS (for deeper or advanced understanding)
1. Programming Challenges β by Skiena & Revilla
-
Classic CP book used in ICPC training.
-
Problems are UVa-linked.
-
Covers brute force, backtracking, DP, graphs, greedy.
2. CP3 (Competitive Programming 3) β by Steven & Felix Halim
-
Very in-depth, more advanced than CPH.
-
Great for older students or future preparation.
-
Not ideal for beginners, but excellent for JC/Upper Sec.
3. USACO Guide (online, structured like a book)
π https://usaco.guide
-
Structured roadmap from Bronze to Platinum.
-
Concepts + problem links + practice sets.
-
Perfect for structured self-study.
π PRACTICE PLATFORMS
1. CSES Problem Set
π https://cses.fi/problemset
-
Created by Antti Laaksonen (CPH author)
-
Clean, high-quality problems aligned with CPH chapters.
-
Must-use.
2. AtCoder Beginner Contests (ABC)
π https://atcoder.jp
-
High-quality contests with accessible but elegant problems.
-
Start from Contest 100 onward, solve ABCD problems.
3. Codeforces
-
Widely used by NOI and IOI participants.
-
Good to train problem-solving speed + experience different problem styles.
-
Start with Div 3 and 4.
4. CS Academy
-
Visual problems, graph problems, interactive.
-
Good for deeper practice (after basics covered).
5. DMOJ (Don Mills Online Judge)
π https://dmoj.ca
-
Canadian platform used in contests similar to NOI.
-
Good progressive difficulty.
π₯ VIDEO COURSES & EXPLANATIONS
1. Errichtoβs YouTube Channel
π https://www.youtube.com/@Errichto
-
C++ expert, former ICPC Finalist.
-
Explains DP, graphs, greedy, etc., clearly.
2. Codeforces EDU
π https://codeforces.com/edu
-
Structured modules for topics like Segment Trees, DSU, DP.
-
More suitable from Month 3 onward.
π NOI & IOI PAST PROBLEMS
1. NOI Singapore Past Papers
π https://noi.sg
-
Most recent and relevant practice.
-
Analyze problems with subtasks and time constraints.
2. IOI Archive
π https://ioinformatics.org
-
Try selected easier problems for stretch goals.
π§ IDEs & Tools
-
C++ Online IDE: https://ideone.com or https://cpp.sh
-
Local testing: Encourage to start compiling and testing locally with g++, especially before NOI.
π― Suggested Mix
Resource | When to Use |
---|---|
CPH + CSES | Now β Month 3 |
AtCoder ABC | Ongoing (1/week) |
USACO Guide | Month 2 onward for structured progression |
NOI.sg archive | Month 4β6 (focused prep) |
Codeforces | Div 3 contests once comfortable (~Month 2β3 onward) |
CP3 / IOI | After NOI or for long-term development |