Для начала занятий не требуется глубоких знаний C++, достаточно самых основ. Если есть цель добиться успеха в олимпиадах, то рекомендуется использовать именно C++, ресурсы для быстрого старта порекомендуем. Если же хочется только узнать алгоритмы, то подойдет любой язык программирования, в том числе и для решения задач.