ЛКШ 2018, 6-й день, Потоки-2 (Сергей Копелиович)
- Разбор
- Global cut − перебирать можно только одну вершину
- Геом − задача про касательные
- Диниц
- С прошлой пары: декомпозиция на пути и циклы за O(VE)
- Идея улучшения Эдмондса-Карпа, реализация за O(V2E)
- Реализация с масштабированием, доказательство времени O(VElogU)
- Реализация без масштабирования, но с link-cut за O(VElogV)
- Теорема Карзанова, время работы Диница O(EC1/2)
- Применение Каразанова: единичные сети → E3/2, паросочетание → EV1/2
- Mincost flows
- Mincost k-flow за O(k * Поиск пути). Поиск пути = Форд-Беллман
- Поиск пути = Дейкстра с потенциалами
- Mincost circulation, Алгоритм Клейна (толкаем по отрицательным циклам)
- Mincost k-flow → mincost circulation
- Mincost flow, 2 способа: бинпоиск и mincost circulation, итеративный поиск путей
- Capacity scaling O(E2logU) для mincost circulation
- Задачи
- Совершенный парсоч, в котором минимальное ребро максимально (есть решение за V3logE и V3)
- k непересекающихся возрастающих подпоследовательностей максимальной суммарной длины
- mincost LR-flow
- С прошлой пары
- Минимальное вершинное покрытие за O(VE)
- Вершинное покрытие минимального веса за O(flow)
- [skipped] Дополнительно: Глобальный разрез за O(V2log2) − Каргер-Штейн
- [skipped] Дополнительно, если успеем: попытка рассказать быстрый крутой поток
- [skipped] Название preflow push-relabel with global relabeling
- [skipped] Толкнуть жадно по всем рёбрам из истока capacity[s,v]
- [skipped] bfs от стока по обратным не насыщенным рёбрам
- [skipped] Пройти сверху вниз, толкнуть по всем рёбрам вниз столько, сколько можем
- [skipped] Если ничего не толкнулись перешли в фазу "толкать в исток, а не сток"