Hardprob/Maximum Priority Flow — различия между версиями
Материал из DISCOPAL
StasFomin (обсуждение | вклад) (Массовая правка: замена <m>G=\left(V,E\right)</m> на <em>G=(V,E)</em>) |
StasFomin (обсуждение | вклад) (Массовая правка: замена \ldots на …) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
<!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} --> | <!-- start --><!-- {{svg-image-for-hard-problem|{{PAGENAME}}}} --> | ||
− | * Направленный граф <em>G=(V,E)</em>, вершины-источники <m>s_1, | + | * Направленный граф <em>G=(V,E)</em>, вершины-источники <m>s_1, …, s_k ∈ V</m>, вершины-стоки <m>t_1, …, t_k ∈ V</m>, емкость ребер <em>c: E → R</em>, ограничения на вершинах <em>b: V → R</em>, и для любой вершины <em>v</em>, есть некий порядок исходящих ребер. |
− | * Найти приоритетный поток <em>f</em>, т.е. функция < | + | * Найти приоритетный поток <em>f</em>, т.е. функция <em>f: E→R</em>, такая что |
− | ** для любого ребра <em>e</em>, < | + | ** для любого ребра <em>e</em>, <em>f(e) ≤ c(e)</em> |
− | ** для любой вершины <m>v | + | ** для любой вершины <m>v ∈ V-\{s_1, …, |
− | s_k, t_1, | + | s_k, t_1, …, t_k\}</m>, поток сохраняется в <em>v</em> |
** для любой вершины <em>v</em> | ** для любой вершины <em>v</em> | ||
*** поток покидающий <em>v</em> не превышает <em>b(v)</em> | *** поток покидающий <em>v</em> не превышает <em>b(v)</em> | ||
*** для исходящей любой пары ребер <m>e_1, e_2</m>, если <m>f(e_1) < c(e_1)</m> и <m>e_1 < e_2</m>, то <m>f(e_2)=0</m>. | *** для исходящей любой пары ребер <m>e_1, e_2</m>, если <m>f(e_1) < c(e_1)</m> и <m>e_1 < e_2</m>, то <m>f(e_2)=0</m>. | ||
− | * Максимизировать поток, приходящей в первый сток < | + | * Максимизировать поток, приходящей в первый сток <em>t<sub>1</sub></em>, т.е. <m>\sum_{(x,t_1) ∈ E}f(x,t_1)</m>. |
---- | ---- |
Текущая версия на 22:45, 17 апреля 2023
- Направленный граф G=(V,E), вершины-источники , вершины-стоки , емкость ребер c: E → R, ограничения на вершинах b: V → R, и для любой вершины v, есть некий порядок исходящих ребер.
- Найти приоритетный поток f, т.е. функция f: E→R, такая что
- для любого ребра e, f(e) ≤ c(e)
- для любой вершины , поток сохраняется в v
- для любой вершины v
- поток покидающий v не превышает b(v)
- для исходящей любой пары ребер , если и , то .
- Максимизировать поток, приходящей в первый сток t1, т.е. .
Задача в лаб22 (рид-онли просмотр)