pulsatio's blog

By pulsatio, history, 2 years ago, In English

Kind regards.

My country (Peru) will participate for the first time in the IOI this year, and I am training schoolchildren with high chances of qualifying for the Olympiad.

Clearly there is a gap between the national Olympics at the Latin American level and the IOI. What I have done so far is choose Olympics problems such as the JOI, CCC, BOI, etc. and solve them in class as well as teaching algorithms from the IOI syllabus.

I don't have much experience (and I'm not a grandmaster) so I would like some advice on how they train in other countries or what I should do with my students.

  • Vote: I like it
  • +238
  • Vote: I do not like it

»
2 years ago, # |
Rev. 2   Vote: I like it +38 Vote: I do not like it

Congrats on finally deciding to join the IOI!

I'd suggest first focusing on easy problems: checking other Spanish-speaking countries' olympiads or competitions for juniors. You should check out Antti's handbook. CSES is also a very good source of easy problems.

I know that some countries (Brazil, Saudi Arabia, Tunesia) also invite experienced coaches from other countries to help with the preparation.

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +52 Vote: I do not like it

    I'd suggest first focusing on easy problems:

    I agree. In particular, JOI is very difficult and it might just discourage your students. Solve problems from easy olympiads and conduct lectures on new topics when needed.

    Tell them to do online contests like Codeforces. If they get hooked, they will want to practice on their own too.

    • »
      »
      »
      2 years ago, # ^ |
        Vote: I like it +52 Vote: I do not like it

      Thanks for the answer, I forgot to comment that my students are not beginners, several are cm and master and that we have been almost 2 years. They enter cf, atcoder, codechef, and any contest they post on cf.

      I wanted to know what recommendations I should follow or what Olympics are more similar to the IOI, for example as you said the JOI is very difficult, and I see it as something different in style.

  • »
    »
    2 years ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Thanks for the answer, could you tell me a little more about the last thing you wrote?

    • »
      »
      »
      2 years ago, # ^ |
        Vote: I like it +23 Vote: I do not like it

      Oh, in my other answer I forgot to mention video material!

      Actually the lectures from last Brazilian ICPC Summer Camp (in English) were recorded and are in YouTube. I was invited as an instructor this year :) It was focused on ICPC, but some topics might help, from my classes I think that the one on interactive problems might probably be the most useful for IOI: https://www.youtube.com/watch?v=RZnb3_HmHow. The others lectures are in the same Brazilian ICPC Channel, though many focus on "university" topics (game theory, matrices, floating point geometry, etc, which are lower priority for IOI). I assume that this is the kind of international colaboration that kostka mentions.

      You can also check quite a lot of video material (about 20 lectures + problems explanations from the last two years) at the Argentine ICPC Training Camp YouTube channel (in Spanish):

      https://www.youtube.com/channel/UCTtoEdiHyjP6XmxMGhsngCA

    • »
      »
      »
      2 years ago, # ^ |
        Vote: I like it -10 Vote: I do not like it

      I've sent you a DM. I am not sure how widely I want to share that :P

»
2 years ago, # |
  Vote: I like it +56 Vote: I do not like it

Huh, I didn't know Peru wasn't in IOI before.

Yes, go by the syllabus and topics from it that commonly appear, but more importantly by how your students' skills develop. The usual rule of practicing on slightly too hard problems applies.

The competitive aspect is super important. Choosing what problems/subtasks to spend time on is super important since 60+60 points is better than 100+0 and sometimes much easier. Then there's the mental aspect with not stressing too much (can be a big problem in your situation), ability to code quickly without too many bugs and to fix bugs, etc. Those things come with timed practice on real problems, not necessarily hard and not necessarily from olympiads. Get your students used to what they'll be facing.

»
2 years ago, # |
  Vote: I like it +23 Vote: I do not like it

Congratulations Peru!!!

As others have already recommended, I strongly suggest Antti's handbook and the IOI-Syllabus as the basic reference on "theory" or "standard" topics. The problems on https://cses.fi/problemset are strongly linked to Antti's book, and are quite good problems for training, they cover all the fundamentals.

You might want to have a look at the Argentine Selection Contest (Certamen de Selección) past problems, we strive for it to have quite an "IOI-like" style, specially task format and contest scoring (but of course, easier :P) http://www.oia.unsam.edu.ar/problemas-categoria-programacion/

Some of those can be submitted at the OIAJ: http://juez.oia.unsam.edu.ar/ . Unfortunately most of them are missing from the judge (a better description is "a few are available" :) ), this is still "pending work".

Since you say that your contestants are already relatively advanced even though Peru is new to IOI, I would recommend mostly that they solve lots of problems, and when stuck for long ask for advise (They can ask you "is there a theory topic I should learn?"). Basically, this blog is quite good advise: https://codeforces.com/blog/Um_nik

Finally, tell them to read all subtasks and consider them all. It is sooooo easy, specially nervous during a contest, to forget about "oh, I can write a simple code and get 10 points on this problem", focusing instead on getting 100 points. 10 points is quite a lot, due to the typical scoring, often many contestants at IOI miss a medal by only 10 points.