Изменения

Перейти к: навигация, поиск
м
rollbackEdits.php mass rollback
===Реализация===
 Пусть задана структура <tex>Edge</tex>: '''struct''' edge: '''int[][]''' findMaxFlow(from '''int''' to '''double'''pairc <font color=green>// пропускная способность ребра<int, int/font> '''double''' E, flow <font color=green>// поток через ребро</font> '''double[][]''' C, price <font color=green>// стоимость перемещения единицы потока через ребро</font> Будем использовать структуру для хранения ребер графа G.  '''double[]Edge[]''' PfindMinCostMaxFlow(<tex>G: (V, E)</tex>, '''int''' s, '''int''' t):
'''for''' edge '''in''' <tex>E</tex>:
edge.flow[edge] = 0
'''while''' <tex>\exists</tex> путь <tex>s \leadsto t</tex> в остаточной сети <tex>G_f</tex>:
path P = путь <tex>s \leadsto t</tex> с наименьшей стоимостью P. maxFlow = <tex>\displaystyle \min_{edge \in pathP} C[edge] .c - edge.flow[edge]</tex> '''for''' edge '''in''' pathP: flow[edge] = .flow[edge] + = maxFlow '''return''' flow<tex>E</tex>
===Асимптотика===
1632
правки

Навигация