A theory of getting good at Codeforces

Правка en1, от greateric, 2026-05-31 04:10:26

Broke 2000 today :)

I argue that if you want to get to your goal rating $$$r$$$, it's decided by how well you can solve problems with rating $$$r-200$$$, and potentially not the classical wisdom of "really struggle with hard problems".

Here's a few examples from contests I've done well in:

  • Round 1087. I got a 2047 performance with the hardest problem I solved being D, 1800 (also in 30 minutes)
  • Nebius Round 2. I got 1973 performance with D, 1900 (Maybe not the best example, since I was quite slow for C2 and D, spending an hour on each. But this still shows my point kind of.)
  • Educational Round 190. I got 2269 performance with E, 2100
  • Round 1101. I got 2252 performance with D, 2000 (according to CList so far)

Basically point being, solving a problem of rating $$$x$$$ can give you a performance near $$$x+200$$$, or more, if you're fast. While I think the classical wisdom of practicing hard problems to learn new ideas is good, it's also worth emphasizing the skills that will actually get you good performances in round.

Additionally, all my bad contests have been from failing early problems which messes up your momentum for the hard problems. If I try to skip the early problem and jump ahead, I end up jumping back and forth between the two problems instead of sitting down and really thinking about one, and making no progress on either. Getting good at easy problems helps with this.

Also, I think practicing implementation speed and accuracy can be very helpful. You lose a lot of time and mental momentum if you spend 25 minutes debugging an out of bounds error or overflow or some stupid mistake on problem C. I grinded through like 100x 1600 and 100x 1700 problems and I think I am noticeably better at it. I also don't have the "mental aversion to coding" that I used to where I would dread having to implement and WA2 and debug.

TLDR: Don't forget to practice problems slightly below your rating. And also get good at implementation.

Теги tutorial, rating

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en2 Английский greateric 2026-05-31 04:21:39 199
en1 Английский greateric 2026-05-31 04:10:26 2046 Initial revision (published)