Структуры данных: lower bounds
- Сортировка: NlogN
- Heap: extractmin = logN
- Дерево отрезков: max(change,query) = logN
- Выпуклая оболочка: NlogN
Структуры данных
- Меняющееся дерево
- Сумма на пути дерева = LCA + дерево отрезков.
- Минимум на пути дерева = 2D-запрос
- Not read Прямоугольные запросы
- Not read Сумма на прямоугольнике за O(1)
- Not read Минимум на прямоугольнике за O(1)
- Not read Иначе 2D-дерево отрезков или дерево Фенвика
- Запросы на N точках
- Простая задача "permutations" (напоминание). Простая ее реализация.
- Произвольные N точек → permutations
- КД-дерево
- Not read Специальное 2D дерево, отвечающее на 1 запрос за O(logN).
- Heavy-Light decomposition (покрытие дерева путями)
- Linking-Cutting trees
- Покрытие дерева декартовыми деревьями по неявному ключу.
- Expose
- MakeRoot
- Get, Link, Cut
Задачи (2-я серия)
- Not read [matching] Дан произвольный двудольный граф, нужно разбить его на минимальное кол-во паросочетаний.
- Not read [cover] Удаление графа
- Not read [cut] Задача про заказы и инструменты
- Not read [matching] Такси
- Not read [matching] Задача с РОИ
- Not read [matching, independent set] Антицепь, теорема Дилворта
Разрезы
- Not read Глобальный разрез. Нахождение за O(N3) (алгоритм Штор-Вагнера без док-ва).
MinCost потоки
- Not read Венгерский алгоритм.
- Not read Реализация венгерки за O(N3)