luantranminh / til

10 stars 0 forks source link

The 'science' of training in competitive programming #87

Open luantranminh opened 4 years ago

luantranminh commented 4 years ago

https://codeforces.com/blog/entry/17842 Many people tell you that solving lots of problems and you will become red on Topcoder/Codeforces one day. It is true, and is the only universally approved way in competitive programming community, but it is actually just half of the story. Let me first explain to you the science of problem solving (which is not very scientific, since it was only developed by myself).

For each problem, in order to solve it, you must jump over a gap. It can be either a difficult implementation, or some hard-to-see observation, difficult algorithm, etc.

image

For me, some problems are very easy (e.g. Codeforces div 2 A, B..), because those gaps seem so small to me, and passing through them feel just like casual walking. image

Some problems are very hard. The gap is just too huge, or there are many many gaps, and you can get stuck in the middle because you're too tired after maybe first gap.

image

Using this science, we can explain a lot of phenomenon in the competitive programming world:

So yes, the best strategy to improve your competitive programming skill is to practice a lot, but you must solve gradually harder problems, not just the easy ones. Get out of your comfort zone and challenge yourself. For example, if you solve problems on Codeforces:

luantranminh commented 4 years ago

25/10/2020