Ask HN : How to get good at topcoder/google code jam ?
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.
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.
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.
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.