So I come across many newbies and pupils seeking advice regarding how to practice , what to follow etc . So finally I have taken time and compiled my thoughts over this on a google doc Click here for the doc.
If your graph looks something like this , then you can relate. You can ask more of your queries in comments , I will try to answer them as well. You can suggest edits also if any. Hope this helps.
Edit : So people are asking to check their profile in comments and some in dm , so the whole purpose of this blog was to answer all these common doubts because answering them seperately is not very feasable , I guess the doc is considering all such newbie / pupil profiles , so just go through the doc you will find your answers. ( Most people do common mistake i.e they solve > 100 800s or 900 but dont have 30 1400s. Solve more in range 1300-1600 atleast 40 each .
do you have any advice for spec's (u can look at my graph , Im kinda spec stuck)
ok I checked the doc , ig I will try to solve 50 1700 questions , tough I am not sure if it is a optimal strategy or not
Yep right you have done 40 till 1600 and hence you are able to maintain 1400 now when you complete 1800 then you might reach soon , I take it like you should solve <=x+200 in problem set to reach a rating x in contests .
idk I always taught like I am so close to expert but now I see I need to solve 50 from 1700 and 60 from 1800 , so like even if I solve 2 questions each day , I have ~2 more months to reach expert
Nope its not the case if you can do 4 a day 40 of both its 80/4 = 20 days . And you might reach obviously sooner if you perform too well its just to attain that level and maintain that rating as an average person you need to do atleast that many problems
helpful sir
You don't necessarily have to solve problems with the difficulty x + 200 to be rated x. I am rated around 1700 and usually I only solve problems up to 1500 in contests. The key is speed and accuracy. If you solve div2 A-C fast, you will become expert regardless of what rating it is.
Yeah obviously if you perform well you can reach higher in ratings but I meant for average person who is struggling can follow this. Even I myself reached a rating of 1500 when I was doing problems of 1100.
Agreed. In your case luck matters a lot too, if you solve A-C have to hope that D is hard enough that it’s ok if you don’t solve as well
I’m not really sure how to solve these types of questions really fast though https://leetcode.com/problems/maximum-xor-after-operations/, this took me a whole 20 min to solve (I finished that contest in 30 min btw, so I basically insta solved the other 3). Many coders just come out with the correct code within 2-3 min, some even less than a minute and they have a lower leetcode rating than me. Any tips for these, practice as well ? couldn’t even figure out the n + (n/2) * 2 + (n/3) * 2 solution as well (in round 818) :/ until I saw the editorial after the contest
tip-) if you have some operation- simplify it as much as you can , the operation can be simplified as — you can unset any bit in any number. Now if you want maximum xor just let the bit remain in only one element and unset it in rest , so if a bit is present in any element it would be in xor so answer is or of all numbers, this can be easily done in 2 mins perfect problem for div2 A's.
Thanks for your help. I have became expert recently
Any guidance to reach Candidate Master?
Yeah, when I was expert, I analysed profiles of Cms and found that you should do 50 each till 2000. You have done lot of in <=1500 region thats why you are stable expert but to become cm you will have to do till 2000. You should have good grasp on trees graphs dp segment trees range queries other important algos, combinatorics, binary search should be on your tips. And bottomline : solve D in every contest.
when I was expert
You ARE expert
Yeah I knw but I have come down to expert from CM.
My point is that it's not something that you have left in the past to say "when I was expert". And the fact that you touched CM few times doesn't change that.
Lol I meant when I was just expert and wanted to reach CM.
Did it :)
Not anymore, sir.
Oh, really?)
What does lone solve mean? Do you mean go down from the most recent contests and try to solve every problem D?
corrected
I've solved > 50 problems for each rating <= 2000, but my peak is 1800:(
congratulations
Ahh, thanks!
Can you give me some advice?
At my peak was able to reach specialist but now i'm strugling to mantain even pupil, already read cp3 by steven halim and cp handbook, also solved a lot of problems dificulty <= 1700, i'm aware of various standard algorithms and data structures but not all of them and usually is dificult for me to come up with greedy or constructive ideas.
My current strategy is participate rated/virtual div2 and upsolve at least until problem C.
You have solved decent number of problems, but seems you underperform in contests, either you take too much pressure, dont try with full will, or over complicate things, tell me what happens in contests.
It's very stressful if i'm not able to solve A and B quickly and for C some times get good observations about the problem but unable to bring a full solution and other times simply don't have any clue about the problem. Some example below:
1720C didn't see the key observation that after the first move you can remove elements one per move.
1715C thought about the contribution of each number but never think in the space between numbers.
1719C get the full idea of solution but didnt implement in time.
If i dont have any ideas and the contest almost over (15 mins) usually give up. Also in my time zone the contest are early so wake up, turn on the pc and start the contest.
1) build up fast implementation skills , practice implementation based and stl based problems so tht if you got the idea , you can surely code it in 20 minutes. 2) try dooing a b in half hour so you have 1.5 for c , think of multiple aproaches and dont code without proving the solution , dont give up till last 5 minutes, dont fear anywhere in betweeen even if you had not done any submission in one hour , you can still do it ac in last 5 minutes , so just be chill and tthink only about the problem. Mark observation from such question tht what has to be observed. Actually every problem has some observation try to find them and build your solution upon them , side by side proving it .
and yeah dont stress you can ace in last half and hour too if you struggle for first 1.5 hours but if you stress, then you will not. So just chill and enjoy this sport , dont fear/stress loss , just enjoy solving the problem .
I'll try to improve, thank you for your coments.
In your opinion does leetcode and codechef ratings correlate with codeforces ratings ? I have (barely) 5 stars on codechef as well, which may seem surprising that I am not expert yet lol (my friend also has the same issue, but we both use python only)
5 star on codechef = speacialist on cf
Hmm, maybe it’s true now, but I see on a codechef forum that CC rating — CF rating in general is around 250-300
I have 198x now on codechef with max being 201x, thanks to the problem E lunchtime cheating lol
yeah I gave up on cc long back
haha idk when I will get my 5 stars back since every contest there’s cheating and they don’t check plagiarism ?
5 star on codechef = IM on cf
Change my mind
Thank you for sharing, xinyster. It was very informative and helpful.
I literally know evey topic you mentioned to become Expert but I'm still pupil LoL ig im just allergic to contests
do you practice with alt account , cuz I dont see enough problems in your heatmap.
Yeah the problem is that i actually know the topics but when it comes to problem solving im taking too long
not enough practice . do more practice to increase accuracy and speed
thanks
I've just become Expert thanks for your advices
Recently i realized that im not able to solve the problems which i had did 1 month back by watching/reading the editorials ,i completely forgot how to approach the problem and i think this is the only reason why i am not improving , can anyone suggest me some tips to overcome this ....
understand them , if you dont then dont submit it so that its not marked solve and now you will revist it in future ,but if you do the opposite you will never wanna see that again cuz you had already ACed it without understanding it completely .
I'm using this Chrome extension to keep track of the problems I want to revisit later, it might be useful to you as well
Some advied for me ! Please review my profile.
Ohk you have done enough problems but I think you struggle in the contests specially in problem C (practice 1400-1600 and binary search) , can you elaborate why choke at contests , like you dont get any aproach , get in pressure or get too many WAs ?
I thought due to contest pressure i am not able to do. because it become some time difficult to think even A problem. Thanks for advice.
see, take it as a game , just chill man dont worry to much about rating , just try to enjoy the contest , for A it is generally 1 /2 liner / 1 loop brute force simple problem, dont complicate it think simple , similarly for b , be very good with stl->set , map etc and lowerbound upperbound , prefix sum array binary search , for C its mostly about the topics I have listed , just keep your calm in contests and chill, and better analyze your mistake after reading the solution .
How you check problems rating???
You can search problems by their ratings after clicking on the PROBLEMSET at the top of the homepage.
Open the doc. There is diagram with problems and there ratings. Thought it sth easy used
cf analytics extention / cf visualizer
Help me out as well. I am new to CP but have ample knowledge on basic dsa.
the whole purpose of this blog is your question go through that doc
Hi! Could you check my profile plz?
I've a question. What if someone do
50 problems
from each of rating<=1400
and can't improve? What should be the next step?1) every person's mind is different and nothing is applicable to all 2) analyze your mistakes in contests 3) maybe you didnt get all gist of problems you are solving just revisit problems if you cant solve them again after a month it means you got nothin out of that problem. 4) you are not confident taking too much pressure , just chill man and enjoy the contests
I'm really struggling in solving div2 A -B. Trying out the new C2 Ladders, trying to practice as much of div2B as I can. It takes me so long to solve 1000-1100, sometimes even 900. Any tips?
solve in range 1000 to 1400 , learn some basic algos , mentioned in the list in tht order
I skipped 1500 and have been doing 1600+ problems, (Have solved about 60 R1600 problems, and some more on higher ratings. Is it necessary to solve 1500 problems? I actually have become somewhat comfortable with R1600 problems. I don't use guides and have around 80% solve rate. Though it still takes quite long to solve them.
nope not necessary , I myself skipped 1200-1400 initially , you can skip if you feel comfortable
Sir, Any tips for CM Thank you
You Orz, give me some tips
Your profile's already one of the examples of the mentioned strategies in the doc by xinyster :D
I'm afraid of giving contests, can you suggest me any way to overcome the fear? And also is there any other advice that you have in my case?
man did you do these 2300 problems ethically , if so just give contests and you should dont do more than 50 of any rating but you did 250 wasted too much time , and why are you fearing contests just give out contests dont think anything if you get even -200 delta , chill out
Yeah I did them ethically, never looked at editorial for any of them unless I got accepted. So should I now focus more on 1700 rated questions?
And thank you for your advice.
yeah and give contests man , dont care for ratings , give them in chill zone
Is i start graph and dp as per my rating my current rating or work on speed and greedy,sorting,BS,marths problem ?
yeah you are at idle point to start graphs and dp , whenever you get simple problem try to solve it fast , master binary search , greedy , implementation
completed a20j *800 level problem but struggling at *900 problem any advice/recourses for number theory or any stuff that may help me
Try to solve problem greedy way with some maths.
Can you look at my profile , i have solved many problems between 1400-1800 but still i am not able to reach expert
give more contests
i am currently practicing dp/graph of 1800 rating , Is there anything wrong that i am doing
nope just give more contests , and put your skills under test
Any advice, good sir?
drink beetroot juice before and after contests
Thanks cap
Any advice to become Cm
solve 50 till 2100 , solve d in every contest
Thanks for taking the time to write a post. I am currently <= 1400. So, which 50 problems do I solve? Like sorted by the number of solved(Asc/Desc) or which 50?
most recent ones
nice troll bro
hi
Bsdk
Raghav???
Thanks a lot Xinyster sir. I have been stalking you for a long time. Please reply and thnkyou again for your priceless contributions
Bro, i agree with you ,but what would happen with rest of the 60 problems from each ladder? Beacause, i would probably solve 30 problems from myself and extra 30 would be leftover that i can not solve them?
Tbh you would never be able to solve 100% of a rating , I sometimes get 1400 problem which I cant solve, the thing is when you reach 70% probability that you can solve a particular rating you can move on to next . Just think 90% prob on 1400 is better or 70% on 1400 and 70% in 1500 or 100% in 1400 is better or 70% on 1400 and 70 % on 1500 and 70% on 1600 Moreover if you solve harder problems easier ones will become dooable for you after solving 40-50 of next 2 3 ladder you could come back check wheather you can solve 50 remaining of previous ladder. Most likely you would solv3 most of them . So harder problems build iq for easier problem as well .
Any advice for me .
Is there any difference between solving older problem and new problem/?
yeah there is newer ones are more observation based and adhoc problems than older ones try solving newer ones first then go for some older problems maybe
but i am facing a lot of difficulty to solve new problems...what to do in this case??How can i overcome this difficulty?
practicing is the only way keep trying to generate ideas and try to code them. Once u have no idea and u are stuck in the loop of repeating the same idea open the editorial read it try understanding the proof why that works and then code it there is no other ways around. I have used this method and now I am able to solve 1300s 50-60% of the time and 1400s 30% time. It takes time to get good at CP so grind hard bro
older problems in some cases are easier but they're more educational