Уровень С
1. Линейные структуры данных: Стек, очередь и дек
2. Математика 1: Поиск делителей, факторизация, решето Эратосфена, Алгоритм Евклида, бинарное возведение в степень
3. Сортировки и компараторы
4. Бинарный и тернарный поиск
5. Структуры данных: set, map, multiset, unordered_map, unordered_set
6. Динамическое программирование: кузнечик, черепашка, рюкзак, нвп, ноп, расстояние по Левенштейну.
7. Графы. Поиск в ширину и в глубину (BFS, DFS)
8. Сканлайн
9. Метод двух указателей
10. Кратчайшие пути: алгоритм Дейкстры
Уровень C+
1. Сортировки и компараторы, struct
2. Бинарный и тернарный поиск
3. Сканлайн
4. Структуры данных: set, map, multiset, unordered_map, unordered_set, pbds
5. Графы: DFS, BFS, топологическая сортировка, поиск компонент сильной связности, построение конденсации графа, поиск мостов и точек сочленения
6. Кратчайшие пути: алгоритмы Дейкстры, Форда-Беллмана, Левита, Флойда, 1-k BFS
7. Геометрия. Геометрические примитивы
8. Строки. Префикс-функция. Z-функция. Хеширование.
9. Динамическое программирование: рюкзак, нвп, ноп, расстояние по Левенштейну.
10. Динамическое программирование по подотрезкам
11. Дерево отрезков
12. Остовные деревья и СНМ: Алгоритм Прима и Крускала
Уровень B
1. Графы: топологическая сортировка, поиск компонент сильной связности, построение конденсации графа, поиск мостов и точек сочленения
2. Кратчайшие пути: алгоритмы Дейкстры, Форда-Беллмана, Левита, Флойда, 1-k BFS
3. Декартово дерево. Явное и неявное.
4. Геометрия. Геометрические примитивы.
5. Дерево отрезков. Массовые операции
6. Строки. Префикс-функция. Z-функция. Хеширование.
7. Динамическое программирование по подотрезкам, по цифрам, по поддеревьям, по подмножествам
8. Наименьший общий предок. Бинарные подъемы.
9. Остовные деревья и СНМ: Алгоритм Прима и Крускала
10. Корневая оптимизация и алгоритм МО
Уровень B+
1. Графы. Поиск мостов и точек сочленения, компоненты двусвязности, конденсация, 2-SAT
2. Дерево отрезков. Массовые операции. Двумерный сканлайн
3. Корневая оптимизация и алгоритм МО
4. Теория игр. Ретроанализ, теория Шпрага-Гранди
5. Динамическое программирование: по подотрезкам, по поддеревьям, по подмножествам, по профилю, по изломанному профилю, матрицы
6. Декартово дерево. Явное и неявное.
7. Паросочетания. Алгоритм Куна.
8. Суффиксный массив
9. Бор. Битовый бор. Алгоритм Ахо-Корасик
10. Наименьший общий предок. Бинарные подъемы. Разреженные таблицы. Эйлеров обход.
11. Геометрия. Многоугольники. Выпуклые оболочки.
Уровень A
1. Heavy-light декомпозиция, центроидная декомпозиция
2. Персистентные структуры данных
3. Корневая оптимизация и алгоритм МО. МО на дереве.
4. Потоки. Алгоритм Эдмондса-Карпа нахождения максимального потока. Алгоритм Диница нахождения максимального потока
5. Суффиксный массив
6. FFT
7. Бор. Битовый бор. Алгоритм Ахо-Корасик
8. Продвинутая геометрия
9. Оптимизации динамического программирования. Оптимизация через разделяй-и-властвуй. Оптимизация Кнута. Convex Hull Trick. Lambda оптимизация.
10. IOI туры.
Уровень A+
1. Оптимизации динамического программирования. Оптимизация через разделяй-и-властвуй. Оптимизация Кнута. Convex Hull Trick. Lambda-оптимизация
2. Линейная алгебра. Теория чисел. Метод Гаусса. Линейная оболочка. XOR-базис
3. Сливаемые структуры данных
4. Венгерский алгоритм решения задачи о назначениях
5. Персистентные структуры данных
6. FFT. Быстрое преобразование Фурье. Fast subset convolution и многомерное преобразование Фурье
7. IOI туры