Библиотека олимпиадных алгоритмов и структур данных C++
Исходный код библиотеки:
Инструкция для установки библиотеки algos себе:
MSYS2:
Дискретное логарифмирование:
Библиотека Геннадия Короткевича:
Его модульная арифметика:
Полиномиальные хеши:
Быстрый ввод-вывод:
Sparse Table:
Перебор всех деревьев:
Два варианта рекурсивных лямбда-функций:
Тайм-коды:
00:00:00 Введение, мотивация и основные настройки
00:21:20 Факторизация числа:
00:40:50 Генерация всех делителей, зная разложение на простые
00:43:20 Таймер:
00:49:20 Отладный вывод:
00:59:00 Комбинаторика, арифметика остатков:
01:12:20 Быстрое возведение в степень:
01:19:15 Полиномиальное хеширование:
01:29:00 Хеш-таблица gp_hash_table:
01:34:00 Быстрый ввод-вывод:
01:45:50 Пример
01:49:30 Дерево отрезков: и
01:54:30 Сжатие координат, аллокатор
01:55:54 Алгебра (метод прогонки, xorbasis):
01:58:10
01:59:15 Динамический битсет:
02:00:00 Система непересекающихся множеств:
02:00:24 Дерево Фенвика:
02:01:55 OrderedSet и OrderedMultiset
02:02:15 Префикс-суммы и разностный массив
02:03:18 Дерево отрезков: две реализации
02:06:10 Двоичные прыжки, эйлеров обход, heavy-light декомпозиция, LCA за O(1)
02:07:12 Самый быстрый генератор псевдо-случайных чисел:
02:07:58 : перебор всех массивов, перестановок, деревьев
02:17:35 Битовая арифметика: установить бит, перевернуть бит и получить бит у числа
02:21:00 Выводы