Подготовка к олимпиадам по программированию для продвинутого уровня, 9 класс
С помощью курса вы улучшите свои знания по языку C++, успешно подготовитесь к олимпиаде по программированию и сможете в дальнейшем профессионально расти в данном направлении.
Преподаватели

Призер ВСОШ по информатике. Преподаватель выездных школ Фоксфорда.
Содержание курса
Язык C++:
- Типы данных.
- Битовые операции.
- Ввод-вывод данных. Работа с файлами.
- Структуры, классы.
- Строки.
- Контейнеры STL.
- Встроенные сортировки.
Арифметические алгоритмы:
- Проверка на простоту.
- Факторизация.
- Алгоритм Евклида.
- Решето Эратосфена.
- Быстрое возведение в степень.
Алгоритмы поиска:
- Бинарный поиск.
- Тернарный поиск.
- Метод двух указателей.
- Метод сканирующей прямой.
Динамическое программирование:
- Динамическое программирование.
- Восстановление ответа.
- Задачи НОП, НВП, НОВП.
- Динамическое программирование по подстрокам, поддеревьям, подмножествам, профилю.
- Метод Convex Hull Trick.
Структуры данных:
- Префиксные суммы.
- Sqrt-декомпозиция.
- Sparse table.
- Дерево отрезков.
- Массовые операции в дереве отрезков.
- Декартово дерево.
- Декартово дерево по неявному ключу.
- Дерево merge-sort.
- Метод сканирующей прямой и дерева отрезков.
- Дерево Фенвика.
- Система непересекающихся множеств.
Алгоритмы на графах:
- Хранение графов.
- DFS, топологическая сортировка, конденсация, поиск мостов и точек сочленения.
- BFS.
- Алгоритм Дейкстры.
- Алгоритм Форда-Беллмана.
- Алгоритм Флойда.
- Поиск минимального остовного дерева.
- Задача LCA.
- Поиск паросочетаний.
Вычислительная геометрия:
- Структура точки.
- Скалярное и векторное произведение.
- Площадь многоугольника, задача про точку внутри многоугольника.
- Прямые, окружности.
Строковые алгоритмы:
- Хэширование.
Комбинаторные алгоритмы:
- Генерация всех комбинаторных объектов.
- Получение объекта по номеру и номера по объекту.
- Получение следующего объекта.
Кому подойдет данный курс
Курс подходит школьникам, которые имеют базовые знания по языку программирования С++, а также тем, кто хочет подготовиться к олимпиаде в данном направлении.
Приобретенные навыки
На курсе вы получите следующие навыки:
- освоение алгоритмов на графах;
- работа с арифметическими, строковыми и геометрическими алгоритмами;
- работа с различными возможностями С++.
В результате вы улучшите свои знания по С++, научитесь работать с алгоритмами и успешно подготовитесь к олимпиаде в данном направлении.
Дополнительная информация
Школа дает бесплатный доступ к первому вводному уроку, чтобы вы могли оценить на практике как проходит обучение и формат подачи материала.