添加边后更新最大流量

2024-06-19

考虑我们有一个网络流量,并使用 Edmond-Karp 算法,我们已经拥有网络上的最大流量。现在,如果我们向网络添加任意边(具有一定容量),更新最大流量的最佳方法是什么?我正在考虑更新关于新边缘的残差网络,并再次寻找增强路径,直到找到新的最大流量,但我不确定它是否有效或者是否是最好的方法!


执行 maxflow 后,您就知道每个边缘流动的内容量。

因此,当边的成本发生变化时,您可以执行以下操作:

  1. 假设该边流过的内容是w.
  2. 现在做一个forward dfs and a backward dfs从该边缘开始和未完成的总数w来自它链接的边缘的内容。

这里每条边都表示为x/y, where y意味着边缘容量和x指的是它流动的内容。

现在您想要更改边缘成本4->3 from 2 to 3.

你所要做的就是做一个forward and backward dfs from 4->3边缘和未完成2这些边缘的权重为4->3 flowed w=2内容。

该过程如下所示:

现在你快完成了:)

  1. 改变边的成本4->3 from 2 to 3并再次尝试找到一条增广路径:)

如果您觉得很难理解或者我错了,请告诉我:)

Edit :

  1. 如果新边成本大于当前成本,则无需撤消权重。您可以尝试找到一条改变边缘容量的增强路径。

  2. 但如果容量减少了,你就必须减轻重量并尝试找到一条增强路径。

  3. 如果添加了新边,您只需添加该边并尝试查找增广路径(如果可用)。就是这样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加边后更新最大流量 的相关文章

  • 如何在javascript中计算日出和日落?

    我正在使用appcelerator titan开发一个IOS应用程序 我想让我的应用程序在日出和日落时向用户发送本地通知 解决这个问题的一个好工具是使用 YQL 的雅虎天气 但是 雅虎天气仅供非商业用途 我正在尝试找到一个javascrip
  • 图算法:邻接图的可达性

    我有一个依赖图 我将其表示为Map
  • Google 饼图未显示所有数据行

    我正在尝试绘制人口与国家名称的关系图 我发现 Google 可视化库仅渲染前几个 实际上数字似乎是随机的 具体取决于我使用的数据 有时添加 其他 条目 但它没有t 实际上具有其余条目的值 Example 1 With all countri
  • 最小硬币找零问题——回溯

    我正在尝试用最少数量的硬币解决硬币找零问题 采用回溯法 我实际上已经完成了它 但我想添加一些选项 按其单位打印硬币数量 而不仅仅是总数 这是我下面的Python代码 def minimum coins coin list change mi
  • 链表分区函数及反转结果

    我编写了这个 F 函数来将列表分区到某个点并且不再进一步 很像之间的交叉takeWhile and partition let partitionWhile c l let rec aux accl accr match accr with
  • 另一个生命游戏问题(无限网格)?

    我一直在玩 Conway 的生命游戏 最近发现了一些令人惊讶的快速实现 例如 Hashlife 和 Golly 在这里下载Golly http golly sourceforge net http golly sourceforge net
  • 用于将分层平面数据(带 ParentID)转换为带缩进级别的排序平面列表的算法

    我有以下结构 MyClass guid ID guid ParentID string Name 我想创建一个数组 其中包含按层次结构中应显示的顺序排列的元素 例如 根据它们的 左 值 以及将 guid 映射到缩进级别的散列 例如 ID N
  • 查找top-k元素的平均时间复杂度

    考虑在一组 N 个独立且同分布的浮点值中查找前 k 个元素的任务 通过使用优先级队列 堆 我们可以对所有 N 个元素进行一次迭代 并通过以下操作维护一个 top k 集合 如果元素 x 比堆头 更差 丢弃 x 复杂度 O 1 如果元素 x
  • 在 python 中保存 3D NetworkX 图以便稍后使用 paraview 查看

    我编写了这个脚本 它使用 python 中的 NetworkX 绘制随机 3D 图形 该脚本的输出是一个 3D 图形 我可以在其中围绕图形结构旋转相机 import networkx as nx from mpl toolkits mplo
  • 四舍五入到最接近的 2 的幂

    是否有一个单行表达式 可能是布尔值 来获取最接近的2 n给定整数的数字 示例 5 6 7 必须是 8 四舍五入到下一个更高的二的幂 参见一些小技巧 http graphics stanford edu 7Eseander bithacks
  • 验证是否存在唯一字符串的组合

    class Details String name String age String email String location 1 如果有详细信息列表 如下所示List
  • 使用 BFS 查找 Boost BGL 图中所有可到达的顶点

    我构建了一个 boost BGL 图 using vertex t std variant
  • 匈牙利算法 - 系统分配

    我正在一个项目中实现匈牙利算法 我设法让它工作 直到所谓的步骤 4维基百科 http en wikipedia org wiki Hungarian algorithm Matrix 5Finterpretation 我确实设法让计算机创建
  • 如果我在计算强连通分量时不使用 G 转置会怎样?

    我正在阅读算法导论 在 22 5 强连通分量中 算法 STRONGLY CONNECTED COMPONENT G 定义为 调用 DFS G 计算每个顶点 u 的完成时间 u f 计算 G 转置 调用 DFS G transpose 但在
  • 使用 O(1) 辅助空间迭代二叉树

    是否可以在 O 1 辅助空间中迭代二叉树 不使用堆栈 队列等 或者这已被证明是不可能的 如果可以的话 怎样才能做到呢 编辑 我得到的关于如果有指向父节点的指针就可能实现这一点的响应很有趣 我不知道可以做到这一点 但取决于您如何看待它 这可以
  • Deflate 压缩 - 数值示例

    我真的很想看看一个数字示例 手动压缩如何进行压缩 以下非常短的文本 abc 已使用 deflate 算法进行压缩 输出 eJxLTEoGAAJNASc 其二进制表示法为 01100101 01001010 01111000 01001100
  • 如何在 Perl 中生成数组的所有排列?

    生成所有内容的最佳 优雅 简单 高效 方式是什么 n perl 中数组的排列 例如 如果我有一个数组 arr 0 1 2 我想输出所有排列 0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0 它可能应该是一个返回迭代器的
  • 准备与大数据相关的设计和架构问题的最佳方法[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 递归最长递增子序列的记忆

    我为最长递增子序列提出了简单的以下递归解决方案 但是 您可以帮助将记忆包含到这个递归解决方案中吗 public int findLIS int a int maxSoFar int item int count if item a leng
  • 如何找到权重为 1、0、-1 且成本精确为 0 的多维路径

    我得到了一个有向图 其中有 n 个节点和边 向量的权重 每个向量的长度为 m 为数字 1 0 1 我想找到从一个节点到另一个节点 我们可以多次访问节点 的任何路径 或者说这样的路径不存在 使其权重之和等于仅由零组成的向量 我正在考虑暴力回溯

随机推荐

  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • C# 中的协变和逆变

    首先我要说的是 我是一名正在学习 C 编程的 Java 开发人员 因此 我会将我所知道的与我正在学习的进行比较 我已经使用 C 泛型几个小时了 我已经能够在 C 中重现我在 Java 中知道的相同内容 除了几个使用协变和逆变的示例 我正在读
  • Pandas 合并指标自定义值

    在 pandas 合并期间将指示器更新为更友好的消息的最快方法是什么 默认indicator True yields left only right only both 我想更新为Only present in last month s d
  • 在 django 中导入设置时出现奇怪的错误

    我有很多项目在 ubuntu 中使用 python2 7 和 virtualenv virtualenvwrapper 工作 在我的工作中 一些开发人员使用 macosx 和 windows 通常我像往常一样创建项目 django admi
  • 如何为 Windows 安装开源 Qt 库 5 二进制版本

    这个问题具体是关于Qt libraries 5 0 0 for Windows VS 2010 406 MB at http qt project org downloads http qt project org downloads 但我
  • 从 sbt 程序集运行 uber jar 会导致错误:无法找到或加载主类

    我有一个使用 sbt 程序集插件打包为 uber jar 的 Spark 作业 这build sbt指定一个可运行的 main 作为生成的 uber jar 的目标 mainClass in assembly Some com foo Ba
  • Android 中的垂直和水平滚动视图

    我真的很累了寻找垂直和水平滚动视图的解决方案 我读到框架中没有任何视图 布局实现此功能 但我需要这样的东西 我需要在其他布局中定义一个布局 子布局必须实现垂直 水平滚动才能移动 最初实现了一个逐像素移动布局的代码 但我认为这不是正确的方法
  • Kendo 网格列模板中的条件

    我需要在我的剑道网格列模板中应用一个条件 这是我的代码 columns field EmpName title Name template a href if empName null show xxx else I want to sho
  • 使用 OpenSSL 在 PHP 中进行 AES 加密/在 Node.js 中进行解密

    我正在使用 PHP 和 Nodejs 使用 OpenSSL 进行对称加密 PHP 使用 OpenSSL 库 Node js 解密基于实现的加密 问题是 Node js 中的解密文本只是部分正确 PHP 加密函数 function encry
  • 光滑的旋转木马不工作

    我一直在尝试简单地实现 Slick Carousel 的工作 我已按照 Git 页面上的说明进行操作 https github com kenwheeler slick https github com kenwheeler slick 这
  • Android NDK C++“wstring”支持

    我有用 C 编写的源代码 lib 现在我想在 Android NDK 项目 NDK 6 中编译并使用相同的源代码 lib 我能够编译大多数 C 文件 除了基于 std wstring 的功能 在 Application mk 中 当我指定时
  • 如何制作无限的jscrollpane?

    我之前已经实现过拖动滚动 但是创建无限滚动窗格的最佳方法是什么 当然不会有任何滚动条 我将实现拖动滚动 我想做的是在无限表面上实现动态加载 EDIT 当然 它实际上不会是无限的 我想问如何伪造它 您可以执行以下操作 AdjustmentCl
  • 我的 Reporting Services 2008 Web 服务 URL 仅显示目录列表

    我的机器上设置了报告服务 我可以访问http localhost 8080 Reports SQL2008 http localhost 8080 Reports SQL2008报告管理器工作正常 当我尝试访问 Web 服务 URL htt
  • 意外的查询结果

    为什么我从 sql server 得到以下结果 SELECT 12 C1 CONVERT int C2 CASE WHEN THEN equal ELSE not equal END C3 Sql Server Fiddle 演示 http
  • 打印 jasper 文件时执行报表 SQL 语句时出错

    我修改了一个旧项目 但无法确定这段代码有什么问题 使用下面的 jrxml它创造 jasper文件 当我打印 jasper 文件时 使用此代码JasperPrint jasperPrint JasperFillManager fillRepo
  • Android Realm.io:行/对象不再有效

    这是我的删除功能 它确实找到了workday1 object public static void delete Context context Workday workday Realm realm getRealm context re
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • NSCalendar 返回明年第一周上周一的错误日期

    我使用下面的代码使用随机日期来计算上周一 哪个工作文件但我的代码在明年日期中断 下面是相同的代码 NSDate date NSDate dateWithTimeIntervalSince1970 1483620311 228 NSLog c
  • MATLAB:在不使用循环的情况下提取矩阵的多个部分

    我有一个巨大的 2D 矩阵 我想从中提取 15 个不同的 100x100 部分 我有两个向量 x 和 y 其中保存了零件的左上角索引 我用过这样的东西 result cam1 x 1 end x 1 end 99 y 1 end y 1 e
  • 添加边后更新最大流量

    考虑我们有一个网络流量 并使用 Edmond Karp 算法 我们已经拥有网络上的最大流量 现在 如果我们向网络添加任意边 具有一定容量 更新最大流量的最佳方法是什么 我正在考虑更新关于新边缘的残差网络 并再次寻找增强路径 直到找到新的最大