Hmmm... nie wiem co Ci poradzić, bo wszystko zależy na jakim jesteś poziomie. Przygotowanie do OI to indywidualna sprawa...
1. Tak jak fizycy mają Hallidaya, tak informatycy mają Cormana. Aczkolwiek książka jest długa i mało, kto przez nią się przebija, ale być może akurat dla Cb okaże się pomocna.
2. Ja zaglądałem tutaj:
http://was.zaa.mimuw.edu.pl/?q=node/3 . Tam jest sporo alogrytmów bardzo fajnie omówionych, są i notatki i nagrania.
3. Kolejna stronka to też MIMUW. Tutaj, np. artykuł z arytm. modularnej
http://wazniak.mimuw.edu.pl/index.php?title=Matematyka_dyskretna_1/Wykład_11:_Teoria_liczb_II Z tych na tej stronie przydadzą się artykuły o grafach i te z teorii liczb.
4. Czasami jest też tak, że po prostu jak chcesz poznać jakiś algorytm, to wrzucaj w google. Na pewno gdzieś znajdziesz omówienie, np. KMP alogorithm albo LCA algorithm
5. Następnie, niebieskie książeczki ! To są omówienia zadań z poprzednich lat, znajdziesz je na stronie OI w archiwum bodajże. Czytanie rozwiązań na prawdę pomaga ! :) Zacznij od tych najprostszych z pierwszego etapu (te, które zrobiło sporo ludzi na 100). Książeczki są o tyle fajne, że jeśli np. rozwiązanie wymaga znajomości jakiegoś algorytmu albo struktury, to jest czasami napisane, np.: "tutaj możemy wykorzystać drzewo przedział-przedział, które zostało omówione w książeczce do VII OI w zadaniu "X" " no i tam sobie czytasz.
No i oczywiście trzeba klepać zadania... klepać, klepać... Są różne online-judge, na MAINie są chyba wszytskie zadania z poprzednich lat z OI i tam można je dosyłać (
http://main.edu.pl/pl). Jak będziesz już sobie ćwiczył contesty, to codeforces (
http://codeforces.com) i codechef (
https://www.codechef.com) są spoko. Jak teraz patrzę, to trochę żałuję, że na samym początku nie znałem jeszcze Solve'a (
https://www.solve.edu.pl). Tam też są bardzo fajne zadania.
To tak z grubsza... Nie wiem, co mogę Ci więcej poradzić, bo nei wiem ile umiesz :)
Na zakończenie: pamiętaj, że OI, to nei jest trudna olimpiada. Ludzie zaczynają LO z zerową wiedzą o programowaniu, a kończą w finale. OI bardzo rozwija logiczne myślenie, ale wymaga pracy, systematycznej pracy ! :)
Good luck ! :)
PS pewnie jest gdzieś na stronie OI, ale jakbys nie znalazł, to mogę na szybko spóbować zrobić listę przydatnych algorytmów/zagadnień