NISHIO Hirokazu[Translate]
Dinic
最大流を求めるアルゴリズム
DinicはO(V^2E)
AOJ GRL_6_A 最大流で実装の検証ができる
僕のPython実装(AOJで検証済み)
辺はdefaultdict(dict)で待ってるので逆辺の取得のために逆辺のindexを持つ必要はない
(多くのC++実装では各辺に逆辺のindexを持たせてる)
「探索済み辺を探索しない」
これを「まだ探索してない辺の最初のindex」を itertion_count に持つことで実現している
これを使うためにはindexから辺への対応づけが必要だから max_flow の中で最初に作ってる: edges_index


他の人の実装
蟻本 p.194



"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]