Self-introduction and experience sharing after becoming a Candidate Master

Правка en4, от susenyang, 2025-04-08 14:42:29

About this blog

In Teza Round 1 (Codeforces Round 1015, Div. 1 + Div. 2), I finally reached the stage of Candidate Master. Candidate Master has a special meaning to me. May be I saw it as my official introduction to the programming competition. And now I have reached it.

This blog post is about my memories and reflections on reaching CM, as well as some of my own experiences.

My journey to CM

My first codeforces round is Codeforces Round 886 (Div. 4), and I solved 5 problems in this round. Perhaps thanks to the experience of high school math competition (my high school math competition career was not outstanding, and finally only the provincial second prize), getting Pupil and Specialist was easy to me. I have summarized my growing up experience into the following list:

  • 2023/7/21 My first codeforces round Codeforces Round 886 (Div. 4)
  • 2023/8/7 Pupil
  • 2023/9/10 Sepcialist
  • 2023/10/28 Expert
  • 2023/10/30 Back to Specialist
  • 2023/12/30 Expert again
  • 2025/2/11 Candidate Master (roll back)
  • 2025/2/16 Back to Expert
  • 2025/4/5 Candidate Master again

In fact, I was very eager to make the breakthrough from blue to purple. Since 2024/12/20 broke through 1800 points and came to 1854 points, every round I played was a challenge to purple. And now, I managed to do it.

My experiences

How to become Pupil/Specialist/Expert/Candidate Master?

Some guys have talked with me about this problem. Based on my experience, I think the only way to improve is to practice. "Practice makes perfect."" It is famous, and only a few coder can improve without enough practice.

However, practice is only a necessary condition, not a sufficient condition. I always find that someone solved thousands of problems but feel hard to improve. Scientific training is the key to advancement. In my opinion, the scientific training method is: try to do a problem with a rating of 200-400 points higher than your current rating. If you fail to solve the problem in 60 minutes, read the solution and think through the solution. This time is flexible, the reason why I choose 60 minutes is that for me, the problem that has not been solved in 40 minutes in the competition is invalid, so I will add some time on the basis of 40 minutes. Too simple questions are easy to do, but have no effect on improving ability. Too difficult questions higher than we can strive to achieve the height of thinking, will only increase anxiety in the process of learning. I think 200-400 is suitable.

What algorithm should I master to reach Pupil/Specialist/Expert/Candidate Master?

I think some "algorithms", like prefix, binary search, dfs/bfs, dp (basic Knapsack and basic dp on tree), greedy, are mindset in fact. They are actually the most frequently used because they are the most basic. Besides, I know very few algorithms.

I can no longer agree with this blog. I can't seem to do elimination, so I list what I can master:

-

Теги share your experience

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en6 Английский susenyang 2025-06-22 10:29:56 3 Tiny change: 'ra in $O(m\log m)$)\' -> 'ra in $O(m \log m)$)\'
en5 Английский susenyang 2025-04-08 15:18:09 2253 Tiny change: ' share">\n[My deskto' -> ' share">\n![My deskto' (published)
en4 Английский susenyang 2025-04-08 14:42:29 2244
en3 Английский susenyang 2025-04-08 14:10:24 131
en2 Английский susenyang 2025-04-08 12:08:15 380
en1 Английский susenyang 2025-04-08 12:02:50 451 Initial revision (saved to drafts)