Hello peeps, I'm doing codeforces for some time now. But I'm not able to rise the ladder. What should be my strategy to rise the ladder efficiently? Right now I only do codeforces problems. Should I practice from some other online judge as well.I'm struggling. Please help. Thanks in advance
A2OJ ladders are good practice. You can also try CSES Problemset.
Thanks for the reply. But I'm looking for something concrete, which I can blindly follow and rise up the ladder.
In my opinion, if you blindly follow one resource, then your growth will be slow. Rather I recommend you practice from different resources as each has its strengths and weaknesses. Also, it gets boring practicing from the same resources.
Register again.
Hahaha I don't want to be a specialist for the namesake. I want to have problem solving skills of that level.
gg
New rating system bro.
Even if he registers again then his rating will start from 500 not 1500. Rating system has changed bro!!
This strategy may help you-
Set the problem rating(both min and max) to 800. Solve all recent problems of that rating.
The number of problems for every rating could be-
5 if u very comfortable and get ac in very first go.
10 if u can solve all of them without editorials.
15-25 in any other case.
After solving these numbers of problems for a fixed rating increase the difficulty by 100. There is no issue if you need to see editorials frequently! Don't ignore problems of a specific domain/topic.
For contests- Initially,you could follow a strategy where you aim to solve more number of problems rather than aiming towards speed. After getting a WA, read the question again calmly giving minimum 5-10 mins to understand the task.
Once you are comfortable in solving problems till 1300 rating you will see your color changing soon.
Last piece of advice- Just solve more! Don't compare yourself with others! Be consistent and practise daily!`
You can try Hackerrank and hackerearth as well. Try to push your level. If you are able to solve problems of difficulty rating 1400 then try to solve 1600-1700 difficulty rated problems on codeforces. If you are not able to solve it then look the editorials for hint and learn something new. Suppose in the editorial they used term which you don't know then google it and solve some problems on that topic to have the basics clear (for example, in the editorial the term "trie" is written and you don't know about its implementation and applications, then search it in google else you can go to hackerearth or hackerrank website and practice the basics from there). Also after giving a contest try to solve atleast one problem which you could not solve during the contests.
// if you rating is below 1400 and you don't want to read hell of theory before getting upto expert you can follow this //
1> there is only single 100% guaranteed strategy for anything. practice in the same environment daily in which you want to ace. luckily cf provides that (virtual participation) .
2> don't participate on more than 2 platform (upto expert) because in that case u can not evaluate if you are improving or not because every community has different rating mechanism.
3> participate in 1/2 virtual daily and take it like the real contest , give your best shot in 2 hrs and then its time to gain new skill (always solve the question after contest you got stuck during contest).
3.a> learning from editorial is best if you can , but there is 50% chance that u will get the idea behind that solution but unable to code on your own.
3.b> for that purpose make friends(5-10) on cf who regularly participates in cf recent contest and their rating is +100/200 to your rating . and everytime when you get the solution but can't code it, try to learn from their code (their is 90% chance u will get their solution )
4>don't run for best solution after the contest because u can not write that anytime in near future try to get to that solution which is closest to your idea and coding style.
5>don't waste more than 2/3 hour on single problem because u need to solve as much as you can instead of solving couple of out of league problems.
6> don't learn too much of theory that will spoil your interest but basic data structures , basic mathematics and ability to write bruteforce is must and sufficent .
7> once you get the confidence(which is result of your performance in contest) you yourself get capable of deciding of weather you should solve on oj's/atcoder/cf/etc
// and always remember start is the toughest phase once you start to get rolling everything is fun //
Do you suggest giving virtual contest over solving a2oj ladders for practice if I can sometimes solve Div2 A and rarely B ? Thanks
you have to practice tougher problems (don't feel demotivated if you can not solve it on your own solve it with the help of editorial). solve on both platforms but keep your ratio of easy medium hard problemset balanced .
I was also having same hard times like yours when I was unable to solve B in Div2 rounds. I would suggest you to take as many virtual contest as possible.
I was reading the previous comments and noticed that no one is taking about the problem tags. Problem tags takes an important part in deciding the difficulty of the problem (for e.g. 1500 problem of sorting is much easy then 1500 problem of dp, graphs or trees).
In my opinion you should choose some easy topic tags for now like 'implementation', 'brute force', 'sorting', 'math', etc (of course set difficulty according to you comfort) and command on these tags by increasing difficulty step by step.
(You can select tags and change difficulty form the filter on the right side of the Problemset, incase you don't know)
Mostly Div2 contest follows the following trend:
"Happy Coding :)".
I am currently doing Atcoder beginner contest problems C, D, E for improvement as mentioned here https://drive.google.com/file/d/1J2x8pIYQ3MXANgvzOgBciWd3d79j_Exa/view. Is it a right approach?
You can practice on whichever site you are comfortable with but don't forget to take as many contest (live or virtual) as possible on codeforces or atcoder.
Once you are able to understand and code Atcoder beginner contest problems C, D, E well without editorials you can switch to codeforces problemset and follow this.
"Happy Coding :)"
Try learning some theory and solving problems on each topic that you learn!
That is going to come with a lot of practice. Try to solve 3-4 B problems everyday and when you are confident with B probs go for C.
Why only rise your ladder upto specialist? Your thinking/determination also depends a lot in your progress.
Solve problems fastly in contests .Practice on A20j ladders.