Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I was part of the hosting team at IOI 1997 in Cape Town and had similar conversations with the participants that you described and also learned about Dynamic Programming there. Your description of it as "recursion + storing results which you can sometimes do iteratively" is the best summary. Good example is iterative Fibonacci algorithm.

Another fun anecdote from that time is that we had to take special precautions with the scoring program which connected to the participants machine over the serial port. The previous year one participant had hacked the serial port interface to manipulate the results. :-)



Nice! I guess you must know Bruce Merry. Once, when practicing, I kept on hitting my head on a problem. On the spur of the moment, I decided to fire off an email to Bruce (given his track record, I was like "if anyone can figure this out, he can"). I was shocked (and very pleased) to get a reply a few days later outlining his thought process and how he went around solving the problem.

I used to know the ZA team leaders as well (after competing, I was a team leader for several more years).


Yes, I do indeed know Bruce. He won the national Maths and Computer olympiads in my final year of school even though he was 4 grades below me and had just started high school. :-D


The term always made me insufficient as I always assumed it meant much more and I just didn’t understand how.

In the Fibonacci example, it seems more like common sense to avoid recomputing expensive things. Instead we should give derogatory names to the inefficient implementations, not an opaque name to the only sane implementation.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: