It is needless to say the importance of competitive programming in any Software Engineer’s journey. Most of the beginners have no idea how to use Codeforces and end up wasting a lot of time on it. Most of them also get demotivated when they are not able to solve problems and end up with the thought that they are not capable of doing it.
Codeforces is one of the best platforms for competitive coding and is usually known for its short challenges/contests where programmers from every corner of the world participate. Here you can practice problems from very beginner level to very advanced level. But most people don’t know how to start with Codeforces and how to utilize it fully.
So, here are the few tips that can be followed:
- If you are a beginner in competitive coding then don’t directly jump into the contests. First, go into the PROBLEMSET option and set the difficulty level from 800-1000. After that, all the problems of that difficulty level will appear in front of you, and start solving the problems from there. Then solve at least 30-40 problems to get familiar with the type of questions and platform. As soon as you become familiar with those problems you can start with the contests.
- Try giving all the contests (there are 2-3 contests every week). Initially, it is possible that you might solve 1 or 2 problems in the contests, or it also might happen that you were not able to solve even a single problem, but you don’t have to lose hope and keep practicing the problems. You can’t become the “top” coder in 1 or 2 months. It requires high consistency and a lot of practice.
- As contests are time-bound, so you also have to focus on them and should try solving problems as fast as you can.
- Watch editorials only if you have given sufficient time to that problem and don’t watch editorial completely, first see the tags and then start thinking about the problem again. Even after then, if you have no idea how to solve the question then go for the editorial.
- After each contest, try to up solve the remaining problems of the contest. It is really important as you will be able to learn many new concepts and tricks from it. For those who don’t know, up-solving means solving the remaining problems of the contests which you were not able to solve during the contest.
- After solving any practice problems look at solutions of other users as well as you will learn different and easy approaches from those solutions which will surely help you in further problems.
- Keep increasing the difficulty level of the questions as soon as you become confident in solving the questions of a particular difficulty level.
- You can also add the tags if you want to practice problems related to a particular topic.
- As you will do more and more problems your confidence will keep increasing and if you will remain consistent you will surely become a top coder.
- Lastly, BE CONSISTENT and KEEP PRACTICING.
Important Tip:
One most important thing to remember is – never lose confidence as sometimes it will happen that you might find some questions which will seem difficult for you and you will have no idea on how to solve them but never get scared of them. Give adequate time in trying to solve the problem and look out for editorials or take help from your seniors if you get trapped in a particular problem. But don’t get demotivated and never think you can’t do the questions as nothing is impossible.
About the Contests:
In Codeforces, the contests are very frequent. There are 2-3 contests every week and the duration of each contest is 2-3 hours mostly. Some contests are available to you according to your rankings as well. If you are a beginner then you can give contests rated for Division 2, Division 3, and Division 4. Your rating will increase or decrease on the basis of problems you solve in each contest and in how much time you solve it. The lesser time you take for each problem, the more will be your rating.