作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我不明白如何在具有下限(不是需求)的网络中找到循环流。我找到了下一个包含问题描述和解决策略的文档:
让我们考虑一个具有以下边的网络(l - 下限,c - 容量):
1 -> 2 : l = 1 c = 3
2 -> 3 : l = 2 c = 4
3 -> 1 : l = 1 c = 2
据我了解,要解决问题,我们应该采取后续步骤:
执行这些步骤后,新网络将是:
S -> 2 : c = 1
2 -> 3 : c = 2
3 -> T : c = 1
1 -> 2 : c = 2
3 -> 1 : c = 1
对顶点的要求:
d1 = 0
d2 = -1
d3 = 1
我们看到最大流等于1,等于到T的边之和也是1。它覆盖边A->2->3->T。
问题是如何在原始网络中获取带有原始边界的循环流?
原始网络中存在循环流 - 我们只需将等于 2 的流分配给所有边。
最佳答案
有点晚了,但我在为这个问题寻找解决方案时偶然发现了这个问题。
如果换一种方式,那就是:
在此之后,任何最大流算法找到的解决方案将是:
您现在需要做的只是将下限值添加到前面步骤的结果中。在这种情况下:
您已经找到了想要的答案。我希望这对某人有所帮助。
关于algorithm - 在具有下界的网络中查找循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40752549/
我是一名优秀的程序员,十分优秀!