Математика и олимпиадное программирование?
Олимпиады это отличный бонус при поступлении в вуз. 10 класс это поздновато для начала, но попытаться стоит.
Посмотрите на программу ЛКШ. Многие успешные олимпиадники учились там. Хорошо почитать про вещи представленные в ней (начиная с уровня D до A). Может быть полезно почитать вики за 1, 2, 3 семестр, особенно про комбинаторику, динамику, графы, поисковые структуры.
Нужно очень много практики. Неплохим вариантом будет прорешивать задачи с acmp.ru. Количество важно. Нужно научиться делать это быстро.
Математика, в общем, и не нужна. Для геометрических задач полезно знать геометрию, уметь работать в координатах. Для задач, в формулировке которых фигурирует "вероятность" и "математическое ожидание" - полезно знать, что это такое. Собственно, всё. Гораздо важнее знать много алгоритмов, какой где применяется и как его написать для данной ситуации.