Isamatdin's blog

By Isamatdin, history, 6 weeks ago, translation, In English

Hello Codeforces community,

I've been working hard to reach the Specialist rank, but I feel like I'm hitting a wall. I've put in quite a bit of effort practicing problems and studying algorithms, yet progress is slow. So, I thought I'd reach out to all of you for advice!

Here’s a bit about what I’ve been doing so far:

  • Practicing Basics: I’ve been solving a mix of 1400 and 1500 rating problems to strengthen my understanding of basic algorithms and data structures.
  • Focused Practice: I’m trying to work on specific areas like sorting, binary search, and dynamic programming, but sometimes it’s hard to know which topics to prioritize.
  • Time Pressure: In contests, I struggle to solve problems fast enough to get a good rating boost. Questions for You
  • How did you break through to the Specialist rank? Was there a specific approach, topic, or routine that helped?
  • Any tips for improving speed and accuracy under contest conditions?
  • Are there particular topics you found crucial at this stage? I don’t want to waste time on areas that won’t help me grow as much. Thank you in advance for any insights or advice you might have. Looking forward to learning from all of your experiences!

Happy coding!

  • Vote: I like it
  • +3
  • Vote: I do not like it

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been translated by Isamatdin (original revision, translated revision, compare)

  • »
    »
    6 weeks ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    I Have seen your Progress and this works only for u since u already have enough Knowledge

    1. Don't Over Complicate Problems.
    2. Try to Improve ur speed

    then u are specialist u don't need any additional thing

»
6 weeks ago, # |
  Vote: I like it +1 Vote: I do not like it

I think that you should practice on leetcode.com. 2000 rating there = specialist on cf.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    how do u know if it's 2000 rating or below or higher on lc

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Are leetcode problems really that good?

    • »
      »
      »
      6 weeks ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      Yes, but they're not as entertaining as cf problems I think. And like once you get to like $$$2000-2100$$$ or so on lc, it is better to start doing cf primarily.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    btw why not atcoder abc

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it -6 Vote: I do not like it

    but leetcode problems are different.

    • »
      »
      »
      3 weeks ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Problems on leetcode are more classical and require more DSA. It helps us to properly use data structures and algorithms.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Agree 100%. Also use time on LC to find a template for each pattern that you understand and prefer that you can implement quickly without thinking about it. Especially for binary search, dfs, bfs. Give LC contests till you get bored and when you come back to CF it will be easy to become specialist. Also be good at understanding general reasoning like exchange argument etc. from editorials.

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Impressive practice progress, I'm also stuck very hard and can't reach specialist but I think the most reliable way is "over-level" to reach there.

That is, if the coding strength level is at expert then we will reach specialist in shorter time. Which require more intensive level grinding like RPG games...

»
6 weeks ago, # |
  Vote: I like it +6 Vote: I do not like it

practice 1300-1400-1500 questions with different topics

»
6 weeks ago, # |
  Vote: I like it +6 Vote: I do not like it

i can't reach specialist too, but i think i am not solving enough problems. What topics should i learn and solve? I cant solve constructives. Should i learn it?

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

I'm not able to solve C consistently in Div. 2, that's why I'm not able to reach Specialist. Hell, I'm not even able to reach 1300.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Gosh, you have solved lots of problems!!!

    • »
      »
      »
      6 weeks ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Well, I haven't solved most of them on my own. That's why I'm still a pupil.

      • »
        »
        »
        »
        6 weeks ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Believe me, you will very soon be specialist. You might not have solved all of them on your own but the fact that you have seen so many problems and recognise patterns very well will soon give you an edge.

      • »
        »
        »
        »
        6 weeks ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        i disagree, thats not why youre pupil. youre pupil because when you cant solve a problem and read editorial, you dont actually learn anything from that and you just copy paste the answer. when i practice i mostly end up just reading the editorial for problems, and i solve problems completely on my own probably less than 40% of the time, and i still managed to reach expert. try actually understanding why you didnt come up with a solution, and improve from there

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Damn I'm kinda in a similar position like you : (

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

I think CSES problems help quite a lot for learning, especially the Sorting & Searching section and DP section. There's a corresponding book which goes along with it, which is helpful as well. I would recommend usaco.guide if you're trying to learn a specific topic, since it compiles lots of resources and has related practice problems. If your issue is mostly math, then try using AoPS's Alcumus tool and set it to high difficulty.

As for speed and accuracy, this was my biggest issue for a while. Make sure your editor has proper syntax highlighting and error checking, and also be sure to use g++ flags to catch stuff like invalid memory access or bad type conversions. I use these compilation flags:

DBFLAGS='-Wall -Wextra -O2 -Wshadow -Wfloat-equal -Wconversion -Wshift-overflow=2 -fsanitize=address -fsanitize=undefined -fno-sanitize-recover -fstack-protector'

You don't need to do too much preemptive topic-based learning at this stage, since most of it is practice and pattern-recognition. Each time you can't solve a problem in a contest, read the editorial afterwards and try to figure out what changes to your thought process could have led you to the right solution. If the problem uses a technique you're not familiar with, then this is the right time to learn it.

Best of luck!

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    damn! Why u giving advice on reaching specialist when u urself never reached there... XD

  • »
    »
    3 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Never used all those flags. Thanks! Didn't expected to learn something new here.

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

You are working in right direction . Just try to solve some 1500 rated problems [around 50 — 60] you will we specialist soon. For Topics -> Binary Search , Greedy , Constructive , Bit manipulation

»
3 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Its easy to reach specialist if you go via the div4 route these days. Back in my days (3 years ago lol) it was a rollercoaster ride (quite evident from my graph). However I didnt really have a target of reaching a particular rating or level, I just did CP for fun until it was no more fun (and now I feel its fun again) eventually until I reached specialist. So the good advice would be to focus on having fun solving problems. On other hand here is the kind of advice you are looking for.