Hello everyone! I am new to CP and I was wondering that , is reading CLRS (Introduction to Algorithms) necessary for achieving a good level in Competitive Programming or just doing problems and learning new algorithms while encountering them for the first time using online blogs and tutorials will get the job done ?
Thank you.
No
No. Don't focus on Algorithms, focus on improving the thinking skill.
And how to do that (assuming I am dumb)
Solve more problems :)
If you can solve a problem by yourself, try to never forget the idea you used to solve that. Overwise if you can't solve a problem, look through the editorial or some other's solution, try to feel the solution. So that in the future when you are encountering a similiar problem, you can think like the author did in that other problem :D
You are reminding me of how broken school system works. No that is not how it works. You never memorize. Problem solving is about gaining experience with improving thinking by expanding possibilities of thinking to get to the solution of the problem.
Well, I didn't mean to memorize a solution. I meant to feel it. If you can feel a solution by heart, you will never forget i. If you can't apply the idea to some other problem, that means you never felt the idea you used in the first place.
P.S: Memorization is one of the things I hate the most.
CLRS is written more from a theoretical perspective. For competitive programming, something like cp-algorithms.com will be much more useful.