网络流建图汇总

news/2024/11/5 11:21:23/文章来源:https://www.cnblogs.com/Anonymely/p/18527499

Dining G

一个点有两重限制,将点放中间,两边分别放两个限制,中间点点拆点连 1 表示限制

CTSC1999 家园 / 星际转移问题

时间限制可以分层图,分层图不需二分,直接一层层建即可

企鹅游行

这种有限制的拆点就完了。

时序问题按照时间建即可。

一般出现调整的可以考虑把调整的看成流量

P1345 奶牛的电信Telecowmunication

删点可以拆点后两点之间连 1 边


花费最少->最小割(割掉一条边相当于选)

收益最大->总权值减最小割 (割掉一条边相当于不选)

【例题1】任务分配

[P2057 SHOI2007] 善意的投票 / [JLOI2010] 冠军调查

花费最少,即最小割

如何满足两点选择不同就加代价?

向两点之间连双向边即可。

P1361 小M的作物

花费最大,总代价减最小割。

两点(多点)相同有贡献。

若割掉 \(1,2\) ,则 \(c_1\) 也需要割(否则割掉 \(3,4,c_2\) ,那就不需要割 \(1,2\) 了)

\(3,4\) 同理

若选择 \(1,4/2,3\) ,则 \(c_1,c_2\) 都割掉

P4126 AHOI2009 最小割

最小割集:残余网络上从S出发bfs,连接被S标记的点和未被S标记的点即为割边。

找最小割必须边:

  1. 从S开始BFS跑残量网络。
  2. 从T开始反向BFS跑残量网络。
  3. 枚举从S指向T的满流边,这些边即为必须边

找最小割可行边:

  1. 满流

  2. 删掉后找不到u -> v的路径

    残余网络中 tarjan 跑 SCC, \((u, v)\)\(u, v\) 都在同一 SCC 中说明存在残量网络 \(u \to v\)的路径


多源汇最大流:超级源点向每个源点连 \(inf\),汇点同理


无源汇上下界可行流:

先让所有边都为 \(l\) ,处理每个点入流量-出流量。

\(x > 0\) ,源点向 \(u\)\(x\) ,相当于需要源点帮助流入

\(x < 0\)\(u\) 向汇点连 \(-x\) ,相当于需要汇点帮助流出

判断最大流是否等于源点连边。即是否满流

有源汇上下界可行流:

源点 \(t\)\(s\)\([0,inf]\) 平衡流量即可。

此时这条边的流量即为可行流时流量。

有源汇上下界最大流:

跑完可行流再跑一遍,相加。

有源汇上下界最小流:

跑完可行流再跑 \(t\)\(s\) 最大流,相减。


最大权闭合子图:

一张有向无环图,点有点权(可能为负),对于边 \((u,v)\),如果选择 \(u\) ,就必须选择 \(v\)。求所选的点的最大权值和。

点权为正,连 \((s,u,w)\) ,相当于放弃正点

点权为负,连 \((u,t,-w)\) ,相当于选择负点

其他边连 \((u,v,inf)\)

答案为正权点和-最小割

P2805 NOI2009 植物大战僵尸

P4174 NOI2006 最大获利


费用流:

注意dfs时的vis。

若有负代价环可以先强制费用为负的边满流,跑上下界有源汇费用流即可

NOI2008 志愿者招募

NOI 2008 志愿者招募 employee (byvoid.com)

线性规划建图。

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

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

相关文章

UE中基于FluidFlux插件实现洪水数据接入的一种思路

这是FluidFlux插件文档链接: http://imaginaryblend.com/2021/09/26/fluid-flux/ FluidFlux插件原本可以在编辑器模式下,通过右键SimulationDomain保存模拟状态,这个模拟状态保存后是一个资产文件以及三张纹理图Ground,Height,Velocity。SimulationDomain中有一个俯视的场景…

3 有限体积法:推导方程

3 有限体积法:推导方程 基本原理和目标 (注意:这一节看不懂没关系,在后面的推导中会慢慢用到)质量、动量和能量的守恒流体的质量守恒 动量改变的速度 = 一个流体粒子上受到的力的总和(牛顿第二定律) 能量改变的速度 = 一个流体粒子吸收的热量,和作用在其上的功的总和(…

安全通道占用识别

安全通道占用识别系统利用现场已有的监控摄像头,安全通道占用识别通过先进的AI算法,对消防通道/安全通道进行实时监测。一旦监测到通道被占用、堵塞的情况,系统会立即发出告警,并通过多种方式将告警信息迅速推送给相关管理人员。这不仅极大提升了监控区域的管控效率,更为重…

【征程 6 工具链性能分析与优化-2】模型性能优化建议

01 引言为了应对低、中、高阶智驾场景,以及当前 AI 模型在工业界的应用趋势,地平线推出了征程 6 系列芯片。 在软硬件架构方面,征程 6 不仅保持了对传统 CNN 网络的高效支持能力,还强化了对 Transformer 类型网络的支持,主要表现为大幅强化了对逐点计算、数据搬运的能力。…

工人安全绳穿戴识别系统

工人安全绳穿戴识别系统采用视频图像自动识别的形式,工人安全绳穿戴识别系统通过安装在作业区域的监控摄像头,一旦发现工人高空作业未佩戴安全带的情况,系统可以立即发出告警,相关人员可以迅速采取措施,防止事故的发生。工人安全绳穿戴识别系统的应用还构成了对作业人员的…

ai抽烟检测识别预警摄像机

ai抽烟检测识别预警摄像机利用现场已有的监控摄像头对视频画面进行全天候实时监测,ai抽烟检测识别预警摄像机一旦发现抽烟动作、烟雾、火焰等可疑行为,系统将立即发出预警,并通过同步推送的方式提醒相关工作人员及时处理。这一技术的应用,不仅可以有效预防和减少公共场所的…

负载均衡补充

1.ngx平滑升级 平滑升级:升级过程中用的访问,不断开。传统升级.备份现有的ngx命令. 用新的版本的ngx命令替换原有的命令. 重启ngx.平滑升级准备好新的nginx命令(已经测试的) 检查旧版本的nginx是否运行,如果没有运行下. 把当前环境的nginx的命令备份,使用新的替换. ⭐ 通过ki…

.net core 项目使用log4net

引入nuget包 1.增加一个log4Net.config的文件<?xml version="1.0" encoding="utf-8" ?> <log4net><appender name="DebugAppender" type="log4net.Appender.DebugAppender" ><layout type="log4net.Layo…

UE中材质平铺随物体动态缩放

有两种主要方法实现材质对物体的动态平铺效果:

语忆科技携手火山引擎数据飞轮 探索智能客服场景新可能

放弃支付、申请退款、购后差评……消费者在电商平台的每一项操作背后,其实都有原因。而这些原因,往往深藏于消费者与商家客服沟通的十几条甚至几十条对话之中。在杭州语忆科技有限公司 CTO 魏志成看来,消费者与商家客服的沟通内容,其实是品牌商的一项重要数据资产,“一个愿…

『玩转Streamlit』--登录认证机制

如果你的Streamlit App中使用的数据的比较敏感,那么,保护这个App及其背后的数据免受未授权访问变得至关重要。 无论是出于商业机密的保护、用户隐私的维护,还是为了满足日益严格的合规要求,确保只有经过验证的用户才能访问特定的数据和功能,已成为大部分应用的一个基本需求…

《图解设计模式》 第五部分 访问数据结构

第十三章 Visotor 模式public class file extends entry{/* 省略 */puhblic void accept(Visitor v){v.visit(this);} }public class Main{public static void main(String args){Directory rootdir = new Dirctory("root");/* 省略 */rootdir.accept(new ListVisito…