

My journey to the International Olympiad in Informatics - charliesome
http://sirupsen.com/my-journey-to-the-international-olympiad-in-informatics/

======
pmjordan
I know that feeling of the problems seeming impossibly hard all too well - it
was the same at the Physics Olympiad, which was pushed pretty hard by one of
the physics teachers at my high school (in Austria), who also happened to be
one of the organisers of the state and national events. It helps to know that
the problems are _intended_ to be so hard that nobody gets full marks. I
didn't realise this early on, but it's of course obvious in hindsight - you
wouldn't want a draw, you want a nice, clean exponential distribution of
scores. (unlike an exam, where a gaussian distribution is usually what you're
after)

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!

------
elteto
What is amazing about the IOIs is that the high school students who
participate have a more broad and deep understanding of algorithms in graphs
and networks, combinatorics, dynamic programming, recursion and number
theoretics than pretty much any CS student in a college/university with
exception of perhaps PhDs. Indeed, you don't find many CS students devouring
Knuth's TAOCP just for fun!!! However back in the day when I also participated
in Nationals and this sort of competitions I always favored Cormen's Intro to
Algorithms over Knuth's, but that was just a matter of personal preference.
Overall kudos to this young man and I hope he keeps it up. And I also
encourage everybody to take a look at past IOI problems (they are online) and
their solutions and even attempt solving them, it is an amazing feeling when
you are able to crack even one!

------
koide
Everyone can take a bite at this type of problems for free, with online
results evaluation on topcoder, interviewstreet and probably a few others.

Worth a visit a couple times a week, unless you are actually working on a hard
problem yourself.

------
drharris
I have tutored some high school students in programming/algorithms, and I find
it is definitely better to explain "NP-hard" after they take a crack at the
problem. Classically educated CS students tend to see the true difficulty of
the problem at hand, which typically results in their not being able to see
potential solutions, and many times abandoning the problem completely.
However, students without that level of "training" tend to come up with more
novel solutions. I am always anxious to see what they come up with.

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.

------
munchor
I participated on the National Olympiads in Informatics in Portugal, where I
live. There was a first phase online, and then a second (final) phase in
Porto. From the ~60 participants, only 30 qualified for the final. I got 10th.

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!

------
pykello
I didn't try to participate in olympiads, but I started participating in
competitions when I was 20. I practiced for ACM ICPC for 3 years, which was
arguably my most enjoyable days in my life.

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.

------
bvdbijl
Wow, I'm so surprised to read this, just last week I got the news that I ended
first in the Nederlandse Informatica Olympiade (Dutch Informatics Olympiad)...

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.

------
netvarun
Thank you very much for your article. It brought back lots of fond memories of
my younger days, spending hours and hours solving past year olympiad problems.
I eventually got a silver medal in the Singapore National informatics
olympiad. But it was not good enough to qualify for the IOI. I am 26 years old
now, have my own startup and I still think about it :(

------
dkersten
I was on the Irish team of the IOI in both 2003 and 2004. I wasn't good enough
to actually win anything :-( but the experience was amazing and I met some
very very smart people!

Some of the problems were fiendishly hard though!

------
antman
Having participated in one informatics olympiad, not as a contestant but as a
service engineer for the duration of the contest, I spent quite some time
observing the contestants. It appeared to me that different teams had
different preparation levels. I could see contestants from a few countrlies
starting to type immediately after seeing the subject, when most countries
teams struggled. My guess was that some countries had a more organized
approach, when others were more based on personal effort and talent for the
preparation.

