Содержание курса
Базовая оптимизация и математика
14 уроков
1.
Быстрый ввод-вывод и борьба с TLE
↗
2.
Встроенные структуры данных и их сложность
↗
3.
Модульная арифметика и быстрое возведение в степень
↗
4.
Алгоритм Евклида: НОД, НОК и расширенная версия
↗
5.
Проверка на простоту и Решето Эратосфена
↗
6.
Разложение на множители за O(√N)
↗
7.
Системы счисления: перевод, длинная арифметика и хитрые задачи
↗
8.
Тема 1. Быстрый ввод-вывод и борьба с TLE
↗
9.
Тема 2. Встроенные структуры данных и их сложность
↗
10.
Тема 3. Модульная арифметика и быстрое возведение в степень
↗
11.
Тема 4. Алгоритм Евклида: НОД, НОК и расширенная версия
↗
12.
Тема 5. Проверка на простоту и Решето Эратосфена
↗
13.
Тема 6. Разложение на множители за O(√N)
↗
14.
Тема 7. Системы счисления: перевод, длинная арифметика и хитр...
↗
Эффективная обработка последовательностей
14 уроков
1.
Линейный поиск и базовые оптимизации массивов
↗
2.
Одномерные префиксные суммы за O(1) на запрос
↗
3.
Двумерные префиксные суммы
↗
4.
Разностный массив для массовых изменений
↗
5.
Метод двух указателей: поиск пар
↗
6.
Скользящее окно
↗
7.
Сканирующая прямая и сжатие координат
↗
8.
Тема 8. Линейный поиск и базовые оптимизации массивов
↗
9.
Тема 9. Одномерные префиксные суммы за O(1) на запрос
↗
10.
Тема 10. Двумерные префиксные суммы
↗
11.
Тема 11. Разностный массив для массовых изменений
↗
12.
Тема 12. Метод двух указателей: поиск пар
↗
13.
Тема 13. Скользящее окно
↗
14.
Тема 14. Сканирующая прямая и сжатие координат
↗
Сортировки и поиск
8 уроков
1.
Встроенная сортировка и ключи
↗
2.
Классический бинарный поиск и модуль bisect
↗
3.
Бинарный поиск по ответу
↗
4.
Тернарный поиск для экстремумов функций
↗
5.
Тема 15. Встроенная сортировка и ключи
↗
6.
Тема 16. Классический бинарный поиск и модуль bisect
↗
7.
Тема 17. Бинарный поиск по ответу
↗
8.
Тема 18. Тернарный поиск для экстремумов функций
↗
Жадные алгоритмы и перебор
8 уроков
1.
Жадные алгоритмы: размен, расписания, рюкзак
↗
2.
Рекурсия и генерация комбинаторных объектов
↗
3.
Битовые маски: подмножества и операции с битами
↗
4.
Метод ветвей и границ и оптимизация перебора
↗
5.
Тема 19. Жадные алгоритмы: размен, расписания, рюкзак
↗
6.
Тема 20. Рекурсия и генерация комбинаторных объектов
↗
7.
Тема 21. Битовые маски: подмножества и операции с битами
↗
8.
Тема 22. Метод ветвей и границ и оптимизация перебора
↗
Основы динамического программирования
10 уроков
1.
Базовое динамическое программирование
↗
2.
Динамическое программирование с восстановлением ответа
↗
3.
Наибольшая возрастающая подпоследовательность (НВП)
↗
4.
Наибольшая общая подпоследовательность (НОП)
↗
5.
Задача о рюкзаке 0/1 через динамическое программирование
↗
6.
Тема 23. Базовое динамическое программирование
↗
7.
Тема 24. Динамическое программирование с восстановлением ответа
↗
8.
Тема 25. Наибольшая возрастающая подпоследовательность (НВП)
↗
9.
Тема 26. Наибольшая общая подпоследовательность (НОП)
↗
10.
Тема 27. Задача о рюкзаке 0/1 через динамическое программиров...
↗
Строки и графы
6 уроков
1.
Эффективная работа со строками
↗
2.
Представление графов и обход в ширину (BFS)
↗
3.
Обход в глубину (DFS): компоненты и циклы
↗
4.
Тема 28. Эффективная работа со строками
↗
5.
Тема 29. Представление графов и обход в ширину (BFS)
↗
6.
Тема 30. Обход в глубину (DFS): компоненты и циклы
↗