ЛКШ 2018, 5-й день, Потоки (Даня Николенко)
- База
- Определения: поток, размер потока, циркуляция, разрез, дополняющий путь. Примеры потоков и дополняющих путей.
- Теорема и алгоритм ФФ, существование и поиск max-потока в Z-сетях
- Декомпозиция потока на толстые пути и циклы за O(E2) и за O(VE)
- Поиск паросочетания, поиск вершинного покрытия
- Рёберно и вершинно непересекающиеся пути в ор и неор графах
- Хранение: struct edge { a, b, f, c }
- Протейшие алгоритмы
- Эдмодс-Карп (bfs) за O(V2E), существование потока в R-сетях
- Масштабирование потока за O(E2logU)
- Немного задач
- Задача восстановление матрицы: фиксированны суммы в строках, столбцах, расставить значения от 0 до 100
- Задача про футбольную таблицу: ничей небывает дан недоигранный турнир и желаемое суммарное число побед в конце турнира для каждой команды, восстановить полную таблицу
- LR-поток : несколько истоков/стоков ; избытки недостатки ; LR-циркуляция ; LR-max-поток
- Задача про округление матрицы: округлить вещественную матрицу так, чтобы суммы в строках и столбцах изменились меньше чем на 1 (тоже округлились)
- Задача про вершинное покрытие в двудольном графе минимального веса
- Дополненительно: пример, на котором Ф.Ф, работает экспоненту от V