Чему вы научитесь
- Находить и устранять причины TLE: быстрый ввод-вывод, выбор структуры данных, оценка сложности
- Применять префиксные суммы, разностный массив, два указателя и скользящее окно для эффективной обработки массивов
- Использовать бинарный и тернарный поиск, включая бинарный поиск по ответу
- Строить переборные решения с отсечениями: жадные алгоритмы, рекурсия и комбинаторика, битовые маски, ветви и границы
- Решать задачи динамического программирования: пути в таблице, НВП, НОП, рюкзак — с восстановлением ответа
- Работать со строками и графами: эффективная обработка строк, обходы BFS и DFS, компоненты связности и поиск циклов
- Писать на Python код, укладывающийся в олимпиадные ограничения по времени и памяти
О курсе
Практический курс олимпиадных алгоритмов на Python: от борьбы с TLE до динамического программирования и графов. 30 тем, конспекты теории и задачи с автоматической проверкой. Для школьников, которые знают Python, но хотят писать решения, которые укладываются в ограничения и проходят тесты.
Для кого этот курс
Для школьников 7–11 классов, которые уже знают синтаксис Python, но на олимпиадах раз за разом получают TLE (превышение времени) и Wrong Answer. Проблема почти всегда не в языке, а в неэффективных алгоритмах и неаккуратной реализации. Этот курс учит видеть узкие места и заменять «наивные» решения на быстрые и надёжные.
Начальные требования
Базовый Python: переменные, условия, циклы, списки, функции. Глубокой математики не требуется — всё необходимое объясняется по ходу. Достаточно желания разобраться, почему одно решение проходит, а другое получает TLE.
Преподаватели курса
Как проходит обучение
- Конспект теории — разбор приёма с примерами кода и оценкой сложности.
- Частые ошибки на олимпиадах — соревновательные ловушки, на которых теряют баллы: формат вывода, краевые случаи, неверная диагностика вердикта.
- Задачи с автоматической проверкой — три задачи нарастающей сложности (лёгкая, средняя, сложная) и вопрос на понимание. Решения на Python.
Нагрузка
4