saviour_79's blog

By saviour_79, history, 4 weeks ago, In English,

Hello Codeforces. I am little bit confused about whether i should solve random problems on Codeforces or there is some way to practice. Should i do topic wise questions.? Any Suggestions.

 
 
 
 
  • Vote: I like it
  • -8
  • Vote: I do not like it

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

Solve randomly, of the rating you want to reach in the near future. I don't have time to do this, I think it would be very efficient.

»
4 weeks ago, # |
Rev. 2   Vote: I like it +3 Vote: I do not like it

If you're totally new to sport programming, then you should first solve easy basic problems, just to build up some basics. Solve problems rated from 800 — 1100 according to numbers of users solved. After solving 100~ problems, you will feel like you've got the hang of the basics. Then, you have to give 1-2 contests, just to see where your level is.

Then, do the following : (This is also applicable if you're not totally new, and have basics out of the way) see how many problems you can solve on those contests you just gave. Let me give an example in terms of a div 2 contest. Suppose, you find that you can only solve until the A task during a contest. Then, you must start practicing for the B task. Find out the difficulty range of the task you can't solve. You will solve problems in this range mainly. For Div2 B tasks, they are usually from rating 1200 — 1400. Then, you should sort the problems page according to this rating and users solved, and solve those problems. As this is your difficulty zone, most problems you wouldn't be able to solve by yourself. Nothing to be frustrated about. After trying for 10-15 minutes, just read the editorial, and then solve it. Don't waste too much time on a single task, it's easy to get carried away. You should solve 150-200 problems for this difficulty range you're practicing for.

After you do this, you will find that you can solve Div2 B tasks quite easily during a contest. Then, you target C task's range, which is 1500-1700. Rinse, repeat.

A side note: sometimes you may find that you can solve specific types of problems easily, but another type you can't seem to get the hang of(e.g. constructive algorithms, dp, graphs for me). During your practice, you could also use tags to specify these hard types and solve them separately for some time (about 20-30 problems). You will find that, you get significantly better solving problems of that tag more if you focus on them selectively.

Wish you high rating! :D

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

    Thanks a lot! It was quite helpful.

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

      You're welcome! :D I just followed this during this quarantine and my rating significantly improved. Hope this helps you too.