您的位置:首页 > 理论基础 > 计算机网络

对偶图对于平面图最小割的求解(网络流问题)

2017-09-14 10:34 274 查看

前言

对于平面图和对偶图, 和两者之间的转化, 如果有不明白的:ClickHere.

对偶图的求解



这是一个s-t平面图. 所谓s-t平面图, 就是一个平面图里有s源点和t汇点. 对于这个图, 我们做一点转化方便求解. 将s 与 t之间连一条边.



这样就多了一个附加面(1 - 4 - 7 - 8 - 1). 我们知道平面图转化为对偶图之后, 对偶图里的点, 对应的是平面图里的面. 我们把刚刚的附加面设为对偶图里的s*, 无界面的点设为t*. 按照平面图转化为对偶图的方法, 新图(注意多了附加面)就是:



相邻面之间连线. 然后我们把s*-t*给去掉.



这里就有一个很神奇的性质了, s*-t*的路径, 就对应了s-t的割.

比如说: s* - 2* - 7- t* 对应了2-5, 3-6, 4-7这个割.

那么如果我们把对偶图里每条边附上一个权值, 这个权值就等价于原图里每条边的流量, 那么原图中的最小割不就等于s* - t*的最小路吗?

建出对偶图后跑一边堆优化的Dijkstra即可过, 时间复杂度o(nlog2n).

The End

希望这种网络流转对偶图跑最短路的办法对大家有帮助.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: