Мы ожидаем, что участники, которые выбрают для себя данный уровень имеют базовые знания языка программирования С++. Приветствуется знание основ Java или Python.
Изучаемые темы:
• Математические задачи: поиск делителей, факторизация, решето Эратосфена
• Математические задачи: алгоритм Евклида, бинарное возведение в степень
• Линейные структуры данных: cтек, очередь, дек, списки
• Сортировки и компараторы
• Динамическое программирование: числа Фибоначчи и префиксные суммы
• Динамическое программирование: восстановление ответа и двумерная динамика
• Графы: хранение и обходы
• Графы: топологическая сортировка и поиск цикла
• Бинарный и тернарный поиски
• Два указателя
• Очередь с приоритетом, множество и словарь (PQ, set, map)