Programming What is the best way for me to improve my competitive programming skills in C++?

  • Please we urge all unregistered users to swiftly register to enable you enjoy loads of benefits rollingout in our community. Be open to opportunities to do good for someone else today. Anything that do not please God in your life has come to distroy you.
banner
for Programming related post

admin

BSF Senior Staff
Staff member
Premium User
Aug 19, 2023
492
12
18
Abuja Nigeria
Many people warn you that if you solve a lot of problems on Topcoder or Codeforces, you will eventually turn red. Although it is the only method that the competitive programming community has found to be universally acceptable, it is only half of the story. First, allow me to explain the {science` of problem solving (which is not very scientific, as I am the only one who developed it).

You have to leap over a gap in order to solve each problem. It might be a challenging algorithm, a challenging observation, or a challenging implementation.


main-qimg-679d8a3e89290997f550fdcc4602036a

Certain problems, like Codeforces divisions 2 A and B, are very simple for me because I find the gaps to be so tiny that moving through them feels like strolling.

main-qimg-b2f45e8efc0469c680b8ee46cef6dc86

Some issues are really challenging. The gap is simply too great, or there are numerous gaps, and you risk becoming stuck in the midst due to exhaustion from perhaps the first gap.


main-qimg-576536e9ce967730fc4806ee0f45cb49
We can explain many phenomena in the world of competitive programming with this science:

Some guys pick things up quickly; one guy who started programming only a few weeks ago was able to reach division 1 in Topcoder/Codeforces. Some people have high jumping (or problem-solving) abilities from birth. They have little trouble jumping average gaps.
The more you practice, the more proficient you get. Naturally, if you jump all day, you must be somewhat more adept at leaping through gaps, which will enable you to finish more challenging tasks faster because you won't need to spend a lot of time warming up or mentally preparing before jumping.

However, this also implies that you can only move through tiny gaps if you simply solve too simple of a problem. You can move through gaps more quickly, but jumping is still not possible.

So yes, practicing a lot is the best way to develop competitive programming skills, but you must also solve increasingly difficult problems, not just the simple ones. Step outside of your comfort zone and take on new challenges. As an illustration, if you resolve issues on Codeforces:

Sort by the total number of solvers.
Turn to page 1 first.
Resolve a few issues. If you think you can finish them in five to ten minutes, go straight to page 2 and disregard the other problems.

Proceed until you experience a sense of challenge (e.g., it takes you an hour to solve, you can't solve it at all, etc.).
Try your hardest, but if you don't succeed, read the editorial and seek answers.
 

BSF For Soul Wining Support Donation

Total amount
$0.00
Goal
$1,000.00
Donation ends: