Hello codeforces!!

First of all, I would like to say thanks to this whole community for providing contests, tons of great blogs, and useful comments (sharing elegant solutions different from editorials).

I started coding from the month of January dedicatedly (though the account was created many years ago xD) and I think I improved a lot because of this awesome community. I gave many contests, solved many problems with difficulty higher than my rating, gave some virtual contests, and solved two to three ladders.

I am facing a problem of deciding how to proceed further. Though I know to grow one should do more difficult things than they are capable of doing at the current stage, and thus I am currently solving questions in the range of 1900 to 2400. Now I am in the dilemma that I should narrow down the range to somewhat say 1900 to 2000 as sometimes questions with difficulty 2400 take around 1 to 1.5 days.

It would be great if people can share their valuable experiences regarding this.

TIA!

imo if you can solve a 2400 problem in only 1.5 days (assuming u don't mean literally 36 hours but more like several hours spread out, sleep and health is important lol) w/o looking at editorial that's really good, i can't even solve some with the editorial so :/

Sorry I didn't mention that while solving 2400 rating questions sometimes I get the idea like which data structure I have to use, but yes I have to see editorial to finally arrive at the solution.

It is honestly amazing if you're able to solve div2E and div2F problems in 1 day and with enough practice you will reach master for sure.

For now my suggestion would be to try and become faster first, maybe solving div2D in 30mins or so and less than 1hr15mins for div2E.

Once you have achieved these goals, you would easily be in div1 and then you can start Focussing on >=R2400 and with time bring down the solve time needed by you for those problems.

Thanks for sharing your great experience and advice.

Sorry I didn't mention that while solving 2400 rating questions sometimes I get the idea like which data structure I have to use, but yes I have to see editorial to finally arrive at the solution.

I had been stuck around 1500-1700 rating for a long time, and had been doing virtual contests regularly. I stopped doing those and instead worked within the narrowest difficulty possible. First at the 1600 archive for a while, then 1700, then 1800, and am currently working on the 1900 list. It was usually pretty clear when the right time to advance was.

I experienced some recent contest improvements lately using this method, but at the same time, some of the people that I stalk improved a lot by doing virtual contests. So I don't really know, but I would think the narrower ranges are more efficient. And probably one should have some other outlet to learn/practice algorithms for future use. In codeforces this range can get pretty repetitive (binary search, dfs/bfs, union-find).

Thanks for sharing your experience

Nice to see that you make good progress with this strategy as I'm doing the same thing. I'm doing 1800 rated problems but seems sometimes really difficult to me, so I guess I'm gonna step back.

I can confirm this works for getting to 1800+. I do daily mashups on problems with really narrow difficulty. I started with doing 1700s and now I am doing 2000s. This really helped me push beyond 1700 barrier.

How can i see my solved problem distribution on CF ? (difficulty-wise) Thanks in advance.........

You can use Codeforces visualizer for that purpose.

thanks.......

Even I started in Jan, I think I am stuck in the same situation as you. Do you solve 1900 without reading the editorial, because i practice on 1900 with graphs and DP tag on, but I have to watch the editorial 50% of the time. I have not tried much on 2400 problems. Thanks for blog, the comments here help.

I am not actually sure about the percentage but yes sometimes I have to see the editorial and sometimes I don't have to and sometimes I get 75 percent of the idea about the question I am solving.

I think it is perfectly fine to see tutorials because sometimes you learn techniques while learning from others. For instance, take the case when you were in school and we all looked at examples of maths questions before proceeding to the exercise (even though those questions were silly if we look back now).

The same happens here also. I remember when I started I was not able to solve 1600 questions and was really scared of them but now yes I am able to solve most of them. I think the same applies to other difficulty level questions.

I think after reading the comments I will narrow down the range and be familiar with them first.

I think going step by step is better, if you directly go to 2300, you may need a lot of time per problem. That time will significantly reduce after you become comfortable at 2200, and you will be solving more total problems in same amount of time.

Can you tell me approx. how many problems should I solve to get comfortable with a particular rating? Is 50-60 enough? Also how much time should I give to the problems rated 1900-2000 before seeing the editorial?

It varies from person to person. I got comfortable in <1900 difficulties in ~50 problems, 1900-2200 in ~65 problems. Now I am trying 2400, I have already solved 56 2400 problems, but it doesn't seem I am going to get comfortable in 2400 even after 75 problems (I still have ~45% success rate). I evaluate my success rate after every 10 problems, and as soon as I have ~70% success rate, I usually move to next difficulty.

If you are stuck for 30 minutes, you can either go to another problem (maybe you can practise by creating mashups), or you should go to editorial. I usually don't quit till I am out of ideas, which happens in 30-90 minutes.

Can you explain how you calculate your success rate? I can guess something. But it's better to know directly from you. ShafinKhadem

Percentage of problems (out of random problems) I can get Accepted without any external help (tag, editorial etc.).