

Ask HN : How to get good at topcoder/google code jam ? - ashish01

I have been trying these competitions for sometime now but never got beyond the moderate level. Seeing code from people like ACRush and Petr makes me wonder if one can ever develop this talent or if one is just born with it.<p>And it not that I don't understand basic building blocks of these programs like dynamic programming or graph algorithms, but the way they get applied in the problem just bends my mind. So concretely what things can I do to make myself better at these compitions.<p>I do understand practice is fundamental. If right now I am from 0 to 10 I am because of that but anything apart from that like books, courses etc.
======
hn
Although you understood the importance of practice, I still want to reiterate
it. Practice is the key! As far as I know, ACRush and Petr have many years of
experience of practicing and competing in serious algorithmic contests such as
IOI, ACM, etc. They have solved thousands of algorithmic problems and
counting. Through that hard working process, they polish their problem solving
and coding skill to the very high level as you know. I am not sure hard
working is enough to reach the level of Petr's or ACRush's but I believe it
can push you further than you think you can be. Here are my concrete
suggestions:

1) Read relevant chapters in CLRS (Introduction to Algorithms, kind of bible
textbook).

2) Try to solve as many problems as you can in:

<http://acm.uva.es/> (mix, some hard)

<http://acm.timus.ru/> (mix, some hard)

<http://www.spoj.pl/> (mix, many hard)

<http://acm.sgu.ru/> (mix, many hard)

Topcoder.com (of course)

3) Solve the problems first then read experts' code to learn coding skill from
them. Petr publishes his own TC screencasts in his blog: <http://petr-
mitrichev.blogspot.com/> You can learn a lot from watching them.

4) Practice consistently and never give up.

Good luck.

