I began competing in the ICPC at the same time as my school did, so my coach (a math professor) and I didn't have a clue on what to study and where to find it. After training and competing for about three years, we got familiarized with the most common algorithms but there still was the issue that many things we learned were scattered on different bibliography and wasn't in Spanish. Which shouldn't be a problem for people ICPC since everything is in English, but it might be for the people Informatics Olympiad. And still, when you're learning something you don't really want to struggle with the language too.
In my final semester I decided to graduate by making a thesis which would be a collection of algorithms that are important to know, being approached from a contest point of view. It has been considered for publishing as a book by my undergrad university, which would hopefully happen soon (I just need to fix and polish a few things here and there).
Most of the material can be found on the
algorithms section, and if you just curious about what's in, here's the table of contents in English for the thesis (in the page some things have been move around).