1) Линейные задачи 1. Обработка данных за один проход 2. Суммы на подотрезках 3. Два указателя 4. Стек и очередь. Стек с поддержкой минимума. Реализация очереди на двух стеках. Очередь с поддержкой минимума. Минимум каждых k соседних чисел 5. События: совместная сортировка начал и концов. Сканирующая прямая 6. Нахождение k-го максимума 2) Жадные алгоритмы 1. Общий принцип. Упорядочивание набора данных 2. Задача о выборе заявок 3) Перебор 1. Битовые операции. Быстрое деление, быстрый остаток, быстрое возведение в степень. 2. Битовые маски. Операции над множествами. 3. Перебор с возвратом. Задача о коммивояжере. 4) Теория игр 1. Определения (симметричная, полная информация, ...) 2. Симметричная стратегия 3. ВП-позиции 4. Игра ним 5. Игра с суммой выигрыша 5) Метод рекурсивного спуска. Регулярные выражения 1. Лексический анализ. Способы описания синтаксиса языка. Расширенная форма Бэкуса-Науэра 2. Рекурсивные разбор выражений 3. Регулярные выражения, описание основных операций 6) Теория чисел 1. Возведение числа(матрицы) в степень за log N 2. Операции над многочленами(сложение, вычитание, деление, умножение) 3. Приближение функции, заданной в n точках, многочленом 7) Простые числа (теория чисел++) 1. Модульная арифметика 2. Алгоритм Евклида. Расширенный алгоритм Евклида 8) Графы 1. Многоэтажные графы. Примеры 2. "Произведение" графов. Примеры Удачи! =)