An Effective Guide to Improve Codeforces Rating


improving rating on codeforces


Hello everyone, this is the first blog post I have ever written. Though there are a lot of posts on this topic, to know why I have started writing a blog on this topic check out the about me section.

I am sharing a simple method (simple to follow, but persistence would be a key ingredient) for improving your codeforces rating (analogous to becoming a better coder) which I followed in the past and have gotten a good outcome. Below is a step by step procedure for the same along with some important resources. It will help you in software role interviews.

If you are an absolute beginner I recommend you to learn a programming language of your choice (I prefer C++) and do an online course on Data Structures and Algorithms or refer some good books. You will require some basic knowledge of DSA while following this method.


Here are the steps to be followed while giving contests on codeforces:

1. First is pretty obvious, take part in every contest or as much as you can on the codeforces.

  1. 2. Every contest has an announcement blog. Read the comments on it after the contest ends and it will teach you a lot of new ways of doing the same problem. Remember: do ask questions if you do not understand anything.

3. Now that the contest has ended, your target should be to get to the easiest problem that you could not solve during the contest. This is the problem we should be most interested in solving as this is the best way to spike our rating. Try solving this problem on your own and do spend some time (at least 30 min and max 2hrs) on it and then you can go ahead and read tutorials for all the problems.

4. After reading the tutorial on the easiest unsolved problem, you should classify it into 2 categories:
a) You already knew the concept/data structure/algorithm required to solve this problem but you couldn’t solve it because it was tough or you just didn’t think in the right way.
b) The concept is completely new to you and you do not know how to approach it.

In codeforces, every problem is assigned some tags representing the topic a problem belongs to as well as a numerical rating representing the difficulty of the problem.

For the first category of problems, you just need some more practice as you already know the concepts. You should try to solve some problems (at least 5) with similar tags and difficulty ratings almost the same (-200,+100) as that of the problem you could not solve in the contest. Again, give a minimum of 30 minutes and a maximum of 2 hours to these problems, then read the tutorials. The number of problems to be practised is 5, but the number of problems attempted can be more as you might not be able to solve all 5 that you attempted first.

For the second category of problems, you need to learn the theory from the resources I have shared below and then follow the above method to solve 5 problems. Since you are learning a new topic, it is also recommended that you solve some basic questions as well.

Learning Resources:

CP Algorithms: It contains almost every algorithm that you will require to solve the codeforces questions. The content is precise and easy to understand. I followed this website to learn whenever I had the category 2 problem.

Geeksforgeeks: It can be considered as a backup resource, in case you cannot understand from the above website, you can refer to this website for better clarity of concepts.

You will see a drastic improvement in your skills after 3 to 4 contests itself, but for a sustainable long term improvement, I recommend following the process for a year. You will notice a drastic improvement in your ratings as well as skill.

Do follow me to get more updates on this topic. I will share a few more routines to follow if you get bored following a single process for a long time.



Search This Blog

Powered by Blogger.

An Effective Guide to Improve Codeforces Rating

Hello everyone, this is the first blog post I have ever written. Though there are a lot of posts on this topic, to know why I have start...