Vivek.p's blog

By Vivek.p, history, 7 weeks ago, In English,
- Many of us believes that solving more problems from problem set will increase our coding ability. So, we start solving as many problems as possible every day. But is it worth doing such hard work?

- Well for me, when I started solving problems on code forces, I also believe that it will increase my rating fast. I decided to do 10 problems every day, and of course to compete with my friends. Many of us do that. But then I see no change in my problem-solving time in contest. I can do “only 2” problems out of 5 in a contest, max “3”.

- So, what goes wrong here?

- When we think to solving more problems a day, we started sorting problems based on difficulties like first 600,700, then 800 and so we only solve the problems which are easier to solve and which we can solve faster. So, in contest we can perform good in only type “A” and “B” problems. There are many problems of difficulties less than 1000 so it will take long time to solve it all and your performance will not increase.

- So I think you should try to solve more problems of Type “B” and “C” if you are a beginner, because we can easily solve “A” questions, it will help you more rather than solving as much problems as possible. Practice lots of problems which are harder for you to solve and continue to feel challenged. It will surely increase your competitive coding strength.

- So solving more problems will not improve you , solving better problems will.
  • I found this Quora article very helpful if you need more information : Link
  • Vote: I like it
  • -26
  • Vote: I do not like it

7 weeks ago, # |
  Vote: I like it +2 Vote: I do not like it

in my opinion solving easy problems (500~1000) can only improve your coding speed (than can also be accomplished by virtually participating in atcoder beginner contests).

but speed matters only when you can solve 3 or more problems in a contest.(I got 1800 by solving A-C as fast as I could).

so all in all lower rated coders should focus on their problem solving skills and getting out of their comfort zones (for example if you can confidentially solve 1300 problems challenge yourself by grinding on 1500 or 1600 tasks).

I'm also attaching a CPer's rating vs solved tasks plot (blue ones are tasks , the red line is his rating).

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

Auto comment: topic has been updated by Vivek.p (previous revision, new revision, compare).

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

I'm still oscillating in grey, but I know a lot of Specialists, Experts and more. From what I've heard from them and from my personal experience of training rigorously for a few days so far, solving a problem from problemset (say a C problem) is not the same as solving the same in a contest.

This is because a contest demands a schedule, time pressure, variance in problem difficulty, speed, accuracy, focus and more. I think this overlaps to some extent with what Pippinpaddleopsicopolis is trying to say.

So, one of the best ways to improve your problem-solving and coding abilities is to take part in a contest/ virtual contest and then upsolve upto a target rank/ problem. Also, in a contest the order of solving: A, (C||D), B, E feels more effective from my perspective. GL!

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

    Even I have started that challenge of virtual contests, and for the first time I was able to solve two problems in a Div2 contest!(two days in a row).