Hacker News new | ask | show | jobs
by dllu 4444 days ago
Speaking as the current #20 position [0] on the Google Code Jam scoreboard...

I'm in my university's team for the ACM ICPC [1]. We practice about one or two times per week, where each practice session is 5 hours. Some of the stronger programmers really practice this stuff every day. cf. Nick Wu's description of his preparation for programming contests [2].

[0] In 5 hours, the large input sets will be judged. I might move up or down the rank list depending on whether my answers for the large input were correct.

[1] http://icpc.baylor.edu/

[2] http://www.quora.com/Specific-Quora-Users/Nick-Wu-Did-your-t...

1 comments

If you don't mind me asking, how do you guys? I always compete in my university's "local" contest, which is basically a tryout for competing for a spot on the team that goes to the ACM. I try doing practice problems, but when I can't solve one, I'm not sure where to go from there.
It just takes a bit of practice. Once you've seen a certain type of problem before, it is easy to identify other problems that can be somehow reduced to a known problem. Speed comes with practice too... soon, basic constructs like for-loops just get etched into muscle memory. Don't worry, I couldn't even solve a single problem in my first tryout at my university.

At my university, after a practice session, we sometimes discuss solutions to problems so that those who couldn't figure them out will know how to solve them in the future. After being told the solution to a problem you couldn't solve, you should try coding it up anyway.