Codeforces and Polygon may be unavailable from May 23, 4:00 (UTC) to May 23, 8:00 (UTC) due to technical maintenance. ×
Rating changes for last rounds are temporarily rolled back. They will be returned soon. ×

Training roadmap for newcomers

Revision en1, by mostafa.saad.fci, 2019-02-10 00:23:16

I used to encourage newcomers in our community to train using this sheet to avoid random training. By the end of the sheet, one will be very good up to Div2-D. It has been refined several times based on the received feedback.

Sheet link

Please, check out the sheet before reading. The sheet is

  • Complete and consistent roadmap for newcomers: What to solve & algorithms to learn in order

  • In the bottom row, there are different sheet pages such as Faq, Topics, CF-C2

  • CF-C1, C2 are (Codeforces Div2 C problems (or similar level from other OJs), but from easy to hard). Same for CF-D1, D2, D3

  • Covering most of the topics needed up to codeforces Div2-D

  • Problems increase in difficulty per topic with intermediate easy/medium problems + ad-hoc problems

  • Speed problems to maintain speed goals

One can train in one of the following ways:

A) Blind-Order training style

  • Problems are distributed in sheets CF-A, CF-B, CF-C1, ....CF-D3

  • It targets learning the knowledge/skills in a consistent and balanced way

  • Every sheet page is on average harder than the previous sheet page

  • This is my recommended way, though most camps/training-approaches don't use this style

B) Topics-Based training style

  • See sheet page (Topics). It has the same sheet problems (CF-A to CF-D3) ordered by category and level, around 950 problems

  • Ideas Quality column: P5 (important), P4(very interesting), P3(interesting), P2(good), P1(ok), Empty (normal)

  • You can train using Blind-Order, and use Topics page as a guide to skip some problems

  • Advantage: Mastering the algorithm till solving some hard problems in a short time

  • Disadvantage: Discovering the algorithm behind the problem is an important skill. Given that you know the topic, you lose a good space to improve this skill

  • Disadvantage: Being in the mode of specific algorithm lets you solve many of it easier. However, when solving in real contests, your mind is not so active on the specific topic


  Rev. Lang. By When Δ Comment
en5 English mostafa.saad.fci 2021-04-06 17:36:45 2 Tiny change: 'd feedback. \n\nSheet ' -> 'd feedback\n\nSheet '
en4 English mostafa.saad.fci 2020-12-06 23:39:52 1 Tiny change: ' feedback.. \n\nShee' -> ' feedback. \n\nShee'
en3 English mostafa.saad.fci 2020-11-23 01:46:54 1 Tiny change: ' feedback. \n\nShee' -> ' feedback.. \n\nShee'
en2 English mostafa.saad.fci 2019-11-14 21:07:13 35
en1 English mostafa.saad.fci 2019-02-10 00:23:16 2109 Initial revision (published)