上下界网络流

news/2025/4/1 21:07:08/文章来源:https://www.cnblogs.com/lupengheyyds/p/18796535

上下界网络流

上下界流就是在普通的网络中加了下界。却还是要对于非源汇点,满足入流=出流,于是可能存在不合法的情况。

基础款

无源汇可行流

就是:

  • 对于每个点,入流 = 出流

  • 对于每条边,流量 $\in $ 合法区间

我们先满足其下界,但这样可能出现入流 \(\ne\) 出流的情况,于是在差网络上调整。

在强制满足下届后,对于一个点 \(x\),设其入流总和为 \(in\),出流总和为 \(out\) 可能有三种情况:

  • \(in=out\):这是好的,不用在处理了。

  • \(in<out\):即在差网络上需要额外的入流,可以将 \(x\) 与人造汇点 \(T'\) 相连,边权为 \(out-in\),这样当 \(x\) 在差网络上流量平衡时,就恰好满足了额外流入。

  • \(in>out\):即在差网络上需要额外的出流,同理将人造源点 \(S'\)\(x\) 相连,边权为 \(in-out\),即可。

建好后跑 \(S'\to T'\) 的最大流,使得所有与 \(S',T'\) 相连的边都满流即可。

如果 \(S',T'\) 存在未满流的边,则不存在。

综上我们可以得到若干性质:

  • 一个网络存在可行流要求这个网络必须强连通。

  • \(a\to b\) 的流 = \(b\to a\) 的流

有源汇可行流

就是可以存在一个源点 \(S\) 与汇点 \(T\) 不满足流量守恒定律。

因为 \(S\) 只能出, \(T\) 只能进,连一条 \(T\to S\) 边权为 \([0,+\infin)\) 的边即可转化为无源汇的情况,这条边的流量即为 \(S\to T\) 的流量。

提高款

有源汇最大流

\(S\to T\) 满足条件的最大流量。

由于最大流增广路的选择是不可控的,最后差网络(不包括人造源汇点)的流量是不可控的也就不能保证差网络的其中两点的流量是最大的。

于是,我们在参量差网络上跑 \(S\to T\) 的最大流即可,这是因为最大流的每次增广不影响网络的流量平衡关系(即对于每个点 \(x\),不影响 \(in_x-out_x\) 的值,这是因为每次增广都是进 \(x\) 多少流量,出多少流量,除了 \(S,T\) 这两个点)。

答案就是原来 \(S\to T\) 的流量加上这个最大流。

这种方法适用于网络中任何两个点作为 \(S,T\),但是要注意 \(S,T\) 本身不满足流量平衡定律。

有源汇最小流

\(S\to T\) 满足条件的最大流量。

同理跑 \(T\to S\) 的最大流即可,答案就是原来 \(S\to T\) 的流量减去这个最大流。

可以发现 \(S\to T\) 满足条件的可行流的流量是一个区间,最小流与最大流就是其左右端点。

最小费用可行流

下界网络满流的费用,加上在差网络上跑MCMF后得到的费用之和。有没有源汇都可以。

消去负权边

在求最小费用可行流的时候,可能会出现负环导致亖掉,注意到将原网络分离出的”下界网络“不一定全部选用”下届“,加入有负权边 \((a,b)\),在”下界网络“中强制使其满流,然后加入其反边,这个反边权值一定为正,于是就消去了所有负权边。

在处理一般网络流问题时也可以使用这个方法。

进阶款

最小费用最大流

先跑出最小费用可行流,在跑出 \(S\to T\) 的最小费用最大流,答案为其和。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/906750.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NPIO-导出数据到xls中设置时间格式的值可筛选

//定义时间格式: var xSSFCellStyle1 = workbook.CreateCellStyle();var format = workbook.CreateDataFormat();xSSFCellStyle1.DataFormat = format.GetFormat("yyyy-MM-dd HH:mm:ss"); // 循环中 判断是否是时间类型 yes if (val.is_datetime()){ dataRow.Cre…

虚幻5入门,MashRunner项目1

继续之前油管上Cobra Code的The Ultimate Unreal Engine 2D Game Development Course课程的学习,这是第二个项目MashRunner 一.创建项目 启动虚幻引擎,创建一个空白项目,命名为MashRunner。之后打开VS,在MashRunner.Build.cs中添加一下插件包 using UnrealBuildTool;public…

C# 通过EtherCAT 控制伺服电机(无需板卡或PLC)

前言 无需使用板卡或PLC 用C#配合普通电脑 直接控制伺服电机 环境:vs2022 .Net9 WinPcap_4_1_3.exe Win11 一、引用库二、控制伺服 1.添加EtherCAT主站及从站 EtherCATMaster _etherCATMaster; EtherCATSlave_CiA402 _axis; private void Form1_Load(object sender, EventArgs …

【入门】Python类方法有几种?常用的有哪种?怎么用呢?

实例方法 (Instance Method) 最常用,必须通过类的实例调用,第一个参数是 self(指向实例本身)。 class MyClass:def instance_method(self, arg1, arg2):print(f"实例方法被调用,self={self}, args={arg1}, {arg2}")# 使用 obj = MyClass() obj.instance_method(…

Pydantic Schema生成指南:自定义JSON Schema

title: Pydantic Schema生成指南:自定义JSON Schema date: 2025/3/27 updated: 2025/3/27 author: cmdragon excerpt: Pydantic的Schema生成机制支持从基础定义到企业级应用的完整解决方案。默认流程包含字段定义、元数据收集、类型映射和Schema组装四个步骤。通过Field的js…

Mybatis三大执行器

目录 1、执行器介绍执行器的选择入口设置执行器两种方式全局配置(不建议)局部设置(建议)2、三个执行器区别SimpleExecutorReuseExecutorBatchExecutor总结3、效率测试 4、平时开发使用 一、执行器介绍Mybatis中执行器关系如上图所示,真正生效并在最后执行中有着不同效果的…

顶灯控制器OHC

汽车顶灯控制器OHC(Over Head Console)顶部控制终端系统,主要实现对车内饰灯以及天窗的控制功能。OHC产品采用平台化设计,并已通过多家整车厂的设计评审和试验验证,为特斯拉、福特、林肯、捷豹、路虎等众多车型配套。 汽车顶灯控制器OHC(Over Head Console)顶部控制终…

MES系统选择哪家好?珠海盈致科技

在制造业数字化转型的浪潮中,制造执行系统(MES)已成为连接企业计划层与生产现场的核心枢纽。面对市场上众多MES服务商,珠海盈致科技凭借其独特的技术架构、行业深耕能力与创新服务模式,成为企业实现精益生产与智能决策的可靠选择。 一、技术架构:从底层兼容到顶层智能的…

新一代ITSM:燕千云重构企业智慧服务生态体系

随着企业数字化建设不断深入,IT服务请求量也呈现爆发式增长态势,多数企业领导者已将员工体验列为战略优先级,企业服务管理已从后台支持走向战略核心。现代企业的服务管理已形成两大核心战场——技术支撑的IT服务与以人为本的员工服务。前者涵盖从基础设施运维到新兴技术融合…

FlowiseAI 任意文件写入漏洞(CVE-2025–26319)

Flowise存在严重的文件上传漏洞,尽管实施了上传校验机制,攻击者仍可通过特殊编码绕过限制,实现任意目录的文件写入。这一安全缺陷使未经授权的攻击者能够上传恶意文件、脚本或SSH密钥,从而获取对托管服务器的远程控制权,对使用该平台构建AI代理的组织构成重大安全威胁。漏…

prisma

Prisma 是一个现代的 ORM(对象关系映射) 工具,用于简化与数据库的交互。它可以帮助开发者通过代码操作数据库,而不必直接编写 SQL 查询。Prisma 支持多种数据库系统,包括 PostgreSQL、MySQL、SQLite 和 SQL Server,并且提供了对 TypeScript 和 JavaScript 的完整支持。Pr…

Hugo 渲染及主页展示白名单

本人通过 Obsidian + Hugo + Github Page + Github Action 来实现文章管理及博客自动化搭建. Hugo 渲染白名单 因为不想将 Obsidian 仓库中的一些隐私笔记发布到博客上, 于是选择使用 module.mounts 来配置允许 Hugo 渲染的文件夹. module:mounts:- source: "content/post…