A Newbie Can Anyone help me. PLEASE!🙏

[ alright this might seem stupid to all the geeks out here! But yes I am all confused]
I recently joined Codechef… could anyone suggest me how to enhance my skill ( I am not that much into competitive programming but yes i want to go for the practice sets ) … The thing is as i perceive the problems they seem to get a solution to me ( not actually but a little ) but i am not at all clear of how to start from the “EASY” section i.e is it advisable to start right from the 1st problem itself or the problems in this section are formulated based on their Difficulty level …
If Yes do tell me the intial problem/problems which i should take !!

Thanks A lot !

1 Like

CodeChef has a very unintuitive way of categorizing its problems, so I’d suggest you not to pay too much attention to the assigned ‘difficulty’ of some problem. For example easy-medium may sound like a reasonable thing to attempt, but in reality there are many such problems a good number of Div. 1 participants struggle with.

So for now I’d recommend going to the recent contest page and picking either contest with “Lunchtime” or “Cookoff” in its name. Remember that divisions are sorted in decreasing order of difficulty. So Div. 1 is the hardest one while Div. 3 is the easiest one. Division 2 and Division 3 share a fair amount of problems in their problemset, so that the harder (latter) problems in Division 3 are the first couple of problems in Div. 2.

Doing too many easy problems is never a good idea, so don’t just hop from one contest to another and do the first (easiest) problem and hope you’re improving. Difficulty of problems can rise exponentially, so as you improve you’ll find yourself getting stuck at new milestones. For example, you’ll first struggle with solving the second problem of Lunchtime, but in a couple of weeks/months when you’re able to solve it with 80% success rate, you’ll find yourself not being able to solve even a single third problem, etc, etc. So improvement is not that linear if you want so.

I’d recommend starting with the first problem of the previously mentioned short contests (Lunchtime and Cookoff) and working your way through the problems. Set a timer to 30 minutes and try to solve the first problem. If you couldn’t figure it out, stop right there and read the editorial (explanation of how to solve the problem). If you see some technique you’re not aware of mentioned, google a bit about it and come back to it. For example you may encounter some properties of bitwise operators such as “a ^ 0 = a”. Figure out why it works and come back. Now move on to the other contest and do the same thing.

If you were however able to do the first problem in 30 minutes, it means you were able to find the observation that solves it easily, it just took you a bit of time, so move on to the second problem. This time give yourself a 50% increase in time meaning 45 minutes, try to solve the second problem. Again if you couldn’t solve it in the given time, just go ahead read the editorial and try to figure the techniques out. I’d say do this up until the third problem (again increase your time by another 50%). If you were able to solve all three problems, congrats! But you may have just gotten lucky, so move on to the next contest and don’t bother attempting the 4th problem (the difficulty rises very steeply between those two so as a beginner you won’t get much value out of it since you won’t understand a good amount of what it is about or how to build up the intuition behind it, this all comes with practice but you first have to learn the easier concepts).

As you practice you’ll learn to recognize what feels comfortable, so you’ll probably see after some time that first problem is getting too easy or the second one is getting too easy, you can slowly start to skip those problems in your practice sessions but still do them once in a while. For example you will see that doing the first problem doesn’t teach you anything but you still don’t want to lose the routine so you’ll do 1-2 of these every 3-4 days, but again don’t overdo it as it doesn’t provide too much value and just gives you false perception of improvement.

This should be enough to keep you entertained for at least 1-6 months depending on how much time and effort you are willing to put in.

After this point you will probably figure out on your own how difficulties work, what topics you are good in, which ones you need to improve in and all the fun and perks that come with this hobby. Good luck! :slight_smile:

13 Likes

Nice man , A very detailed Guide.

1 Like

Thank you so much, I liked the way you portrayed things so easily, gave me a boost to get started.

1 Like

Same here! I am also new here, trying to figure out how things works here. So let’s start journey together. BEST OF LUCK.

Do not start from easy section. Start from Beginner section and also try starters div3 first two three problems.