当前位置: 首页 > 知识库问答 >
问题:

基于增量更新的Ford Fulkerson算法的实现

傅元章
2023-03-14

我已经实现了Ford Fulkerson算法,现在正在尝试它的一个变体。

假设解导出后,其中一条边的容量增大或减小。我们需要找到一个算法,以获得新的最大流量使用当前的解决方案,而不是从一开始。

我的建议是,在这个例子中,如果我们假设1-3个边的容量从12减少到8,那么我们需要做一个从1到开始节点的BFS,并且在每个边上减少4的流量,做一个从3到5的BFS,并且减少那里的流量。但我不确定这是否正确。即使它是正确的,我也不知道该如何实现它?

有人能帮我吗?

共有1个答案

戈嘉慕
2023-03-14

是的,你的做法是正确的。

使用相同的BFS找到最大流量。

请记住:

  • 无法使用正在调整的边缘。
  • 边缘可能未被充分利用,因此您可能只需要推回较少量的流。
 类似资料:
  • 问题内容: 我正在使用alix 2d13开发基于Linux的设备。 我已经开发了一个脚本,负责创建映像文件,创建分区,安装引导加载程序(syslinux),内核和initrd,并负责将根文件系统文件放入正确的分区。 配置文件位于tmpfs文件系统上,并在系统启动时由读取驻留在自己分区上的XML文件的软件创建。 我正在寻找一种更新文件系统的方法,并且我考虑了两种解决方案: 固件更新是一个压缩文件,可

  • 我的表格结构如下: 现在,要进行大规模更新,我将执行以下操作: 但是,我们不应该盲目地将状态设置为1,因为有一个条件。如果列的值等于

  • 问题内容: 我已将此代码用于提供+1分,但无法正常工作。 $ points变量现在是用户的点数。.我希望它加上一个点数。.例如,如果他有5个点数,它应该是5 + 1 =6。 但是没有,它只是改变了到1 我做错了什么?谢谢 问题答案: 您也可以这样做:

  • 本文向大家介绍uni-app如何实现增量更新功能,包括了uni-app如何实现增量更新功能的使用技巧和注意事项,需要的朋友参考一下 都知道,很多APP都有增量更新功能,Uni APP也是在今年初,推出了增量更新功能,今天我们就来学习一波。 当然,很多应用市场为了防止开发者不经市场审核许可,给用户提供违法内容,对增量更新大多持排斥态度,特别是apple。所以拥有增量更新的app,需要注意以下几点:

  • 我正在尝试使用Hazelcast的映射实现一个简单的计数器。我初始化了一个映射,如下所示 当我尝试递增计数器(AtomicInteger)时,映射似乎根本没有更新(即使在本地也没有)。

  • 如何使用数据砖增量从其他表中更新表中的多个记录。 我想达到这样的目标: 它失败并出现错误:不匹配的输入“发件人”期望