My journey to the International Olympiad in Informatics
sirupsen.com
sirupsen.com
Worth a visit a couple times a week, unless you are actually working on a hard problem yourself.
It sounds as if the IOI organisers (or at least the Danish organisers) provide possible solutions/approaches for the problems. This is great, it always pissed me off no end at the Physics Olympiad that everything was all hush hush and you had to try and find someone to explain the problems you failed miserably on as we never got to see the correct answers (let alone a breakdown of our scores by problem).
I think the national format varies from country to country, but in case it's of interest:
In our case, the Physics and, as far as I know, Maths & Chemistry Olympiads were split into school, state, and 2 stages of national competitions. I think each school sent up to 4 people (selection up to the school) to the state competition, which was standardised across the country and was half a day. The best 3(?) from each state, plus a selection of those with high scores then made it to the first round of the federal competition, which I think was a whole-day "exam". The best 15 or so from that then went for a 2-week intensive course held in different cities each year, with 4 different physics teachers teaching you new physics all day. It culminated in a 2-day competition, from which the top 5 got to go on yet another 1-week intensive course and the international competition.
(much to my surprise, I ended up qualifying for the IPhO 3 times, in 2000, 2001 and 2002 but only ended up participating once in 2001 [Antalya, Turkey] - for these events it helps to live in a country with a small population I guess)
I kind of wish I'd been sufficiently driven to self-study for the Informatics Olympiad at the time. (CS was nonexistant at my school; I'd only vaguely heard of the IOI, whereas Physics, Chemistry and Maths were encouraged - I probably tried the maths one too young, I was sufficiently intimidated not to try it again; the physics teacher was a lot more welcoming and better at keeping all ages making progress) I bet I'd be a better programmer for it now, and I had all the time in the world back then.
In any case: good luck Simon!
Overall, classic education just seems to put people into boxes. Even PhD candidates don't seem to deviate much from standard techniques. I just wish I had done something like IOI in my past; I feel it's much more effective at opening up your mind.
At the final qualification though, I got 19th, and only the first 4 get to go to Italy this year, for the International Olympiads in Informatics. I can still participate next year, for a chance to go to Australia.
Even though it didn't go out that well this year, I learnt a lot, and it was a very amusing experience. Oh, and I learnt lots of stuff, like Dynamic Programming, Divide And Conquer, Kadan's Algorithm, DFS & BFS, etc. Highly recommend it!
I stopped participating in programming competitions when I was about 24. But now I am 27 and I have started doing them again. I am not as strong as I was (or even close to it), but I am aiming to become strong again. One of my goals is to qualify to the GCJ finals next year (this year I was in Round 3, but couldn't make it to finals).
Joy of solving problems is the greatest joy I've ever experienced.
My story is kind of the same except I started with knowledge in Python, C# and PHP. I will be participating in the CEOI http://ceoi.inf.elte.hu/ and the IOI.
Some of the problems were fiendishly hard though!