Things to Do to Prepare
Top Coder
Crossroads Site 
Team Work Suggestions    
Link suggested By Contestants    
Great Books Suggested


Things to do to prepare for a contest - some suggestions :

  • Study algorithms - this is more important than programming skills.
  • Find a good coach, someone who will organise training sessions.
  • Talk to students who have competed before.
  • Look at previous problems. Do several practice contests -- utilise online judging sites.
  • Make sure you are familiar with the information for participating teams, and with the judging software (DOM Judge).


This is a collection of past problems, which can help competitor prepare and practice for the contest:

Past problems

Top Coder

Thousands of programmers log onto the TopCoder Web site and race to solve three programming problems. The payoff for two hours of concentration: sharper skills, a chance to raise one's profile in the job market and, oh yes -- cash.

Crossroads Site


After analysing previous contest programming problems, we noticed that the same kind of problems occurred over and over again. They can be classified into five main categories:

  1. Search problems. These involve checking a large number of situations in order to find the best way or the number of ways in which something can be done. The difficulty is often the imposed execution time limit, so you should pay attention to the complexity of your algorithm.
  2. Graph problems. The problems have a special structure so they can be represented as a graph-theoretical problem for which standard algorithms are available.
  3. Geometrical problems. These involve geometrical shapes, lines, and angles.
  4. Trivial problems. The choice of the appropriate algorithm is clear, but these usually take quite a long time to program carefully.
  5. Non-standard problems.

For the first three categories, standard algorithms are well documented in the literature, and you should program these algorithms beforehand and take the listings with you to the contest. In this way, you can avoid making the same (small) mistakes repeatedly and you can concentrate on the difficult aspects of the problem.

Team Work Suggestions

  • Files give suggestions for working as a team.

  • ICPC practice

  • The website is great for ICPC practice

Links Suggested by Contestants

USA Computing Olympiad
Australian Informatics Training
Sphere Online Judge
ICPC Live Archive

Great Books Suggested

Competitive Programming book
Competitive Programmer's Handbooks