Hello, Codeforces community!
I'am Emre, 10. grade student from Turkey. I'm trying to improve myself in competitive programming. I read many blogs about it, asked to many people and most of them say "practise a lot, solve many problems as you can". I'm trying to do what they say, but I haven't made any significant progress yet. I think this is because I don't have a regular work plan and I can't pick the right problems to solve. My goal of writing this blog is to take your advice. I would appreciate it if you have a study program that you find useful and you tell me about it. Also you can talk about how many hours a day you study and how do you find good problems to solve.
BTW I still need your help.
Thanks.
You can't say that you haven't made progress at all, it's not like you're born with CP skills worth 1500 rating.
Just keep practicing tasks which are challenging for you, but not too challenging(something like rating + x) where x isn't that big. Also, there are several materials online which are quite good for those who are not experienced.
Among the best of them, I can count
here (he has some good educational blogs)
here (good training program + training sheet)
Joining a community is also helpful, because you can learn CP with fellow people who have the same interest as you.
In conclusion, a study program shouldn't be about how many hours you study a day(even though doing more CP is expected to bring you better results), but more about what you're left with it in the end.
" You can't say that you haven't made progress at all, it's not like you're born with CP skills worth 1500 rating. "
Actually, you are quite right about this. Thank you for your suggestions.
First of all, I agree with everything told above. Also you should understand that in some way it is similar to gym workout. After you started to succesfully "lift" div2ABC problems, an important part of growth is to move on to harder ones. If you achieved 1600, solve 1700 problems. Or even 1800. Yes, probably you'll fail a lot of them but that's ok, not solving a problem is as good as solving it. But give yourself 1-1.5 hours to think before giving up or else you'll develop a bad habit.
" If you achieved 1600, solve 1700 problems. Or even 1800. "
You are quite right. I shoud spend my hours to do this. Thanks for suggestions.
A nice book on Algorithm design is "Introduction to algorithms Book by Udi Manber". Gives a method comparing mathematical induction to algorithm design. It seems to explain everything in a very nice way, by first showing what approaches don't work for designing an algorithm, and then the correct approach in a mathematical way.
The books are also important, thanks for your suggestion.
Auto comment: topic has been updated by emrey (previous revision, new revision, compare).
You're 10 years old!!??
*10th grade