Вся сложность в том, что вы можете прекрасно знать алгоритмы и структуры данных, но задачки решать будете не в силах. Попробуйте порешать Р. Грэхем, Д. Кнут, О. Паташник - Конкретная маетматика. Основной нюанс в том, что классические алгоритмы практически не применимы в олимпиадных задачках. И дело не в том, что они не работают или работают.