I think at this point we all can safely agree that there is no such thing as "talent" and even if there is such a thing,hard work beats talent any day.So I request you all to please stop arguing about this.I genuinely made this post to get all of your suggestions and get some tips/tricks which might help me along the way but this post had turned into more of an argument about why all the LGMs were born with this so called talent and are invincible and can't be reached. I believe that with enough hard work, anyone can reach LGM and if that is not happening, it is because we are not putting enough effort.I agree I'm not the right person to say this when I myself am terrible at CP but I am willing to invest a lot of my time to get better at it.
I am not good at competitive programming but I am willing to put in the effort to get better at it. I had a small question which I though might help me and a lot of people like me who want to get better at CP.
It is not a question asking how to solve problem X or which method to use.
I just wanted to know if, let's say you start solving a question. Can you look at the question and realize.. Oh!! this question can be solved using DP or graphs or some paradigm Y.
Or rather, how long does it usually take for the idea to click in your head?
Also, do you have a specific method to determine what to use(I know it is not possible in most cases) like looking at the constraints or the time limit or anything like that?
Is there any particular pattern you follow while solving problems? Like.. do you select a problem to solve in you free time randomly or based on a particular tag?
I found a couple of good blog entries by Morass and DarthPrince from which I practice topic specific problems and I am practicing algorithms from CLRS. Are there any resources that I am missing? If so can you please specify the names or post the links?
Also, on an average basis, how much time do you spend on CP per day?