Hi, I’m an average person, good in competitive programming. I want to brush off my skills to a higher extent and make the most out of this coming summer. I know the basic mantra “Practice until you can’t get it wrong” but still is there some advice that could be of good help for people out there like me?
Adding to that, can anyone suggest me more fields related to coding that could be of a great use? I am totally a beginner in any of the other fields of computer science other than this. So, here is what I need help the most!
Preparation topic by topic does not seems to be the best idea; You’d better focus on solving real problemsets with editorials. When you solve real problem, you are not told which algorithm is required; by solving contests you may understand which topics and algorithms are often used, and which aren’t, and, at the same time, you will naturally practice common&popular topics; looking at results of your trainings/competitions, you will see how good/bad you are, how your improvement is going; standings will also show you your weak sides (like “this string problem was solved by a lot of people, I managed to solve harder tasks but failed this one, so I should improve string algorithms”).
There are a lot of sites with contests nowadays - CodeChef, CodeForces, TopCoder, HackerEarth, HackerRank and so on.
Strongly agree, but I was thinking of doing it in a different way. like learning the most popular string algos first and then trying for a string related problem. It would make me a bit comfortable. Its almost same as you stated, I’ve just narrowed down the domain so I won’t get frustrated in questions where I really have no idea on how to approach!
@imujjwalanand My idea is also the same as yours, first I want to learn the algorithms(practice 10-15 problems to understand it better), Once I know/comfortable at most of the algorithms, I am planning to practice problems in : http://a2oj.com/Ladders.jsp (Div1 A, B, C, D, E)