Hello all. It's been more than 6 months still my rating is between 1000 and 1200.
What exactly I am missing out here?
I am practicing daily problems greater than my rating, I am up solving problems after every contest. Reading blogs of every contest.
What more do I need to do?
What topics I need to practice more?
Need a better profile review, Need your valuable advice. Need guidance.
Thanks in advance.
Trust in God
First thing that you are missing is : Patience
Secondly... You have practiced problems only in your comfort zone.. i.e., in range 800-1000
Try to solve problem of rating — (curr rating + 200) at least 2 problems a day...Give at least 20-30 minutes and then read editorial or see other codes...but try to grasp everything that has been used to solve that particular problem...so that you can tackle similar kind of problems in future...
And solve the problems in your comfort zone to improve speed ...Do not expect you will Improve just by solving 800-1000 rated problems ... They are just observation based mostly... But apart from that there are so many new things that you have to learn in order become cyan or above that..
I hope you find it helpful and Best of Luck for your Journey !! Happy coding !
Thank You so much. Definetly I will follow your words.
What topics I need to practice more?
This is very subjective...
I'll suggest just try random problems of any particular rating and if there is some topic that is being used in that...learn that from youtube, blogs or anywhere else...
Don't think that I'll start after learning everything ...That's not how the things work in CP ...Just start coding and learn small stuffs throughout the journey
is that a problem?
Not a problem ....But you should solve a problem that requires some thinking
What is the meaning of solving a problem which is easily solvable by you
You will learn nothing from that
You have solved 1000+ problems but still a pupil ...where as there are people who have solved only 400-500 problems and are expert
So I think you should analyze your way of practicing
just solve problems
you can quit
Nope I won't. I don't wanna quit. That's is the reason I asked for guidance.
the one time bro didn't get a downvote for his words...
I've viewed your profile, it seems that you usually solve 2 problems in Div2. Here are some of my personal advise:
Learn basic algorithms like binary search, greedy, two pointers, simple dp etc. Among those, I think binary search and two pointers are the most important and commonly used. If you are stuck when some problem, try to enumerate over every of those algorithms.
Beside algorithms, when solving problems, you'll also need an ability so called "observations". In most cases, we don't find out the approach to the problem instantly, but when found sth. interesting called "properties". For example, if there is a problem defines a subset of numbers called "good numbers" and asks you to count them, you may first want to start by think what is the property of good numbers and how can you characterize them.
Be confident about yourself and assertive about your skills. You may think this advise can't be useful, but this really worked for me as psychological factors indeed can impact a lot. Let me tell you a story. A few month ago, I often made psychological suggestions to myself that I can't solve div1C, and indeed I didn't solve them even if I found those problems are in my reach after I read the editorial. One day, a friend of mine asked me a problem and I solved it before I was told that was a div1D. Then I tried to tell myself that I am fully capable of solving div1Cs because I even once solved div1D before knowing its difficulty. When this idea in mind, I found those div1Cs quickly became easy for me.
Those are a few thing I can think of, hope those will be helpful for you.
Try to relax and be free before 30 min of contest
Firstly -- You should start working on your skills, not on your rating. Your Codeforces rating is useless (in the real world) if it is not backed up by some strong skills.
secondly --How to increase your rating?
Practice effectively: Solve problems regularly, targeting ones at your current rating level. Work on understanding the concepts and techniques behind the problems, rather than just finding the solutions. Quality over quantity!
Analyze your previous contests: Review your past performance in Codeforces contests where you participate. Identify the areas where you struggled or made mistakes, and focus on improving those areas. Learning from your mistakes is crucial!
Participate in virtual contests: Virtual contests allow you to simulate the contest environment and solve past contest problems in a time-constrained manner. This practice will help you improve your speed and decision-making abilities.
Learn from others: Engage with the Codeforces community by reading blog posts, editorials, and forum discussions related to contests. Gain insights from top-rated coders, their approaches, and their problem-solving strategies.
Upsolve problems: Even after a contest is over, spend time-solving the problems you could not tackle during the actual contest. This will improve your skills and broaden your knowledge.
Learn new algorithms/Topics and practise this.
If you can want ,follow it https://docs.google.com/document/d/1E8j0FCoNbdptnaPxwmeaRqp6UkTGPg-6NUjLGJDNGMI/edit?pli=1
Start from the recent contest, go backwards, solve all the Div2 C's until you get comfortable. Don't directly jump to the solution. Think hard about the problem and WRITE DOWN THE OBSERVATIONS. Eventually you will get better with Div2 B's as well! All the best!