1. Учебник математики.
2. Что-то про алгоритмическое мышление.
3. Из знаний питона достаточно if, else, for, continue, break, рекурсии и базовых математических функций.
UPD: по пункту №3, наверняка нужны списки, словари, и т.п., но не думаю что очень нужно знать все модули стандартной библиотеки. Всё же предполагается, что задачи более-менее решаемые не только на python.