09–30 – 10–00 регистрация участников, открытие сборов
10–00 – 15–00 тренировочный практический тур (второй завтрак во время тура)
Вход для участников: тур А тур B тур C
Результаты: тур А тур B тур C
15–00 – 15–30 обед
15–45 – 16–15 разбор задач
16–15 – 18–00 лекция
Лекция А. Длинная арифметика возвращается
1. Алгоритм Карацубы
2. Дискретное преобразование Фурье
3. Разбор задач
4. Литература
Лекция B. C++ Standard Template Library (STL)
1. Понятие шаблона (template)
2. Контейнеры и итераторы
3. Обобщённые алгоритмы (<algorithm>)
4. Bitset< >
5. Объекты-функции (“функторы”) и их использование
6. Эффективное использование STL: реализация алгоритма Дейкстры с кучей
7. Чего нет в STL
Лекция C. Задачи поиска
1. Поиск в неупорядоченных массивах
2. Порядковые статистики за O(Nlog N?)
3. Бинарный поиск в упорядоченном массиве.
4. Бинарный поиск для монотонных функций. Разбор задачи «Кубический
корень».
5. Бинарный поиск по ответу.
6. Разбор задачи «Очень легкая задача» (Москва, 10–11 класс, 2007)
7. Разбор задачи «Автобус» (Украинская, 2000)
10–00 – 15–00 практический тур (второй завтрак во время тура)
Вход для участников: тур А тур B тур C
Результаты: тур А тур B тур C
15–00 – 15–30 обед
15–45 – 16–15 разбор задач
16–15 – 18–00 лекция
Лекция А. Теория групп
1. Группа, смежные классы, теорема Лагранжа
2. Группа перестановок, циклическая группа, группа преобразований
3. Действия групп, орбиты, стабилизаторы
4. Формула Бернсайда, примеры.
Лекция B. Алгоритмы на строках
1. Алгоритм Кнута-Морриса-Пратта
2. Алгоритм Ахо-Корасик
Лекция C. Структуры данных
1. Битовые операции (кратко)
2. Стеки (обзорно, на одномерном массиве)
3. Очереди (обзорно, зацикленная очередь)
4. Деки (зацикленные, с проверкой на отрицательные индексы)
5. Кучи
6. Динамически расширяемые массивы (реализация за N log N расширений)
7. Списки. Сравнение производительности динамических структур.
8. Хеш-таблицы и хеш-функции
9. Механизм вызова функций и рекурсивные функции (использование стека)
10–00 – 15–00 отборочный практический тур (второй завтрак во время тура)
Вход для участников: тур АBC
Результаты: тур АBC
15–00 – 15–30 обед
15–45 – 16–15 разбор задач
16–15 – 18–00 лекция
Лекция А. O полноте систем функций алгебры логики
1. Способы задания функций алгебры логики
2. Основные функции алгебры логики (дизъюнкция, конъюнкция, отрицание, сумма
по модулю 2, медиана)
3. Представление любой функции с помощью совершеной ДНФ и с помощью
совершенной КНФ
4. Представление функций полиномами Жегалкина
5. Замкнутые классы и полные системы.
6. Определение классов T 0, T 1, L, S, M
7. Доказательство теоремы Поста о полноте системы функций алгебры логики
8. Доказательство предполноты классов T 0, T 1, L, S, M.
Лекция B. Структуры данных
1. Дерево Фенвика
2. Дерево отрезков
3. *Двойчные деревья поиска. Декартовы деревья.
Лекция С. Игры-1
1. Комбинаторные игры. P-позиции, N-позиции.
2. Subtraction games. (Dynamic subtraction.)
3. Игра Ним. Ним в поддавки.
4. Игры на графах. Функция Шпрага-Гранди. Сумма игр.
5. Разбор задачи «Товарищеская игра».
6. Разбор задачи «Нечестная игра».
7. Задачи «Игра Ioiwari», «Игра Score», «Игра-2».
10–00 – 15–00 тренировочный практический тур (второй завтрак во время тура)
Вход для участников: тур А тур B тур C
Результаты: тур А тур B тур C
15–00 – 15–30 обед
15–45 – 16–15 разбор задач
16–15 – 18–00 лекция
Лекция А. Игры-2
1. Немного повторения (игры на графах, функция Шпрага-Гранди)
2. Введение в математическую теорию игр
Лекция B. Геометрия
Геометрия.
1. Введение
2. Расстояния
3. Проверка на пересечение.
4. Отсечение выпуклого многоугольника полуплоскостью.
5. Численные методы.
Лекция С. Графы-1
1. Понятие графа и основные определения.
2. Обходы графов
10–00 – 15–00 отборочный практический тур (второй завтрак во время тура)
Вход для участников: тур AB тур C
Результаты: тур AB тур C
15–00 – 15–30 обед
15–45 – 16–15 разбор задач
16–15 – 18–00 лекция
Лекция А. Линейное программирование
Лекция B. Перебор
1. Классы P и NP.
2. Метод ветвей и границ.
3. Альфа-бета отсечения
4. Примеры задач и их возможных решений.
Лекция С. Сортировки
1. Сортировка пузырьком
2. Сортировка слиянием (MergeSort)
3. Пирамидальная сортировка (HeapSort)
4. Быстрая сортировка (QuickSort)
5. Сортировка подсчетом
6. Поразрядная сортировка
7. Сравнение производительности сортировок
8. Методы оптимизаций сортировок
9. Примеры задач, использующих сортировку
10–00 – 15–00 тренировочный практический тур (второй завтрак во время тура)
Условия задач: Тур ABC
Вход для участников: Тур АBC
Результаты: Тур АBC
15–00 – 15–30 обед
15–45 – 16–15 разбор задач
16–15 – 18–00 лекция
Лекция АB. Комбинаторная геометрия
Лекция С. Поиск кратчайших путей в графе
10–00 – 15–00 тренировочный практический тур (второй завтрак во время тура)
Вход для участников: Тур А (по системе ACM) Тур B (по системе РОИ) Тур C (по системе РОИ)
Результаты: Тур A Тур B Тур C
15–00 – 15–30 обед
15–45 – 16–15 разбор задач
16–15 – 18–00 лекция
Лекция АB. Грамматики
1. Нотация BNF (язык описания грамматик).
2. Задача про сложные скобочки и два её решения
3. Синтаксическое дерево разбора
4. Задача про расчет сопротивления схемы.
Отображение правил в программный код, осуществляющий синтаксический
разбор.
5. Задача про обобщённый калькулятор.
Приоритет операторов и тип ассоциативности операторов.
Линейный алгоритм построение синтаксического дерева разбора.
6*. Система Bison.
Лекция С. Динамическое программирование
1. Основные определения и принципы
2. Стандартные задачи динамического программирования
3. Разбор олимпиадных задач
Условия задач: Тур АB
Вход для участников: Тур АB Тур C
Результаты: Тур ABТур C
10–30 – 15–30 отборочный практический тур (второй завтрак во время тура)
15–30 – 16–00 обед
16–00 – 17–45 лекция
Лекция А. Подграф наибольшей плотности
0. Обозначения, теорема о наибольшем потоке и наименьшем разрезе
1. Конструкция сети, алгоритм нахождения подграфа наибольшей плотности
2. Обобщение: взвешенные ребра
3. Обобщение: взвешенные ребра и вершины, различные подходы к
определению плотности.
Лекция B. Динамическое программирование по профилю
1. Задача о замощении домино
2. Связь ДП по профилю и линейной алгебры
3. Задача о симпатичных узорах
4. Задача о расстановке королей
5. Задача о расстановке коней
6. Быстрое ДП по профилю
Лекция C. Секретная геометрия, или простые способы решения геометрических задач
1. Выбор структур данных
2. Секретный смысл основных геометрических формул
3. Top secret, или чего не знают даже студенты
ДЛЯ ГРУППЫ А и С
10–00 – 11–45 лекции
лекция A. Суффиксные автоматы (М.Бабенко)
лекция C. Комбинаторика (М.Трухина)
12–00 – 17–30 тренировочный практический тур (второй завтрак и обед во время тура)
Вход для участников: Тур А Тур C
Результаты: Тур A Тур С
17–30 – 18–00 разбор задач двух дней окружной олимпиады (В.Гольдштейн)
ДЛЯ ГРУППЫ B
10–00 – 15–00 Отборочный практический тур (второй завтрак во время тура)
Вход для участников: Тур B
Результаты: Тур B
15–00 – 15–30 Обед
16–00 – 17–30 лекция B: «Потоки» (В.Гольдштейн)
17–30 – 18–00 разбор задач двух дней окружной олимпиады (В.Гольдштейн)
10–00 – 15–00 Тренировочный практический тур (второй завтрак во время тура)
Вход для участников: Тур ABТур C
Результаты: Тур AB Тур С
15–00 – 16–00 Разбор задач, объявление состава команды
16–00 – 16–30 Обед