博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络流总结
阅读量:5172 次
发布时间:2019-06-13

本文共 651 字,大约阅读时间需要 2 分钟。

无向图网络流

建图时直接把反向边的出事容量设为与正向边相同即可。

最大权闭合子图

选出一个点集,使得它们的后继节点都在这个点集中,使这个点集尽可能地大。

解法:

源点向点权>=0的点连边,容量=点权。
源点向点权<0的点连边,容量=abs(点权)。
点权>=0的点向点权<=0的点连边,容量=inf。
ans=正点权之和-最小割。

思维过程:

先把所有点权>=0的点取上,去从中删除一些不优的。
一个点权>=0的点如果要取,那么必然所有和他相连的点权<=0的点都必须取。
把这个强制要取的过程转化成在网络图上强制他们不连通,必须要把<=0的点给割掉,割掉的代价就是这个负点权。
如果这个点权>=0的点不取,那么就在网络图上体现为把它割掉,不去影响与它相连的负点权的取舍,割掉后总收益减少量就是它的点权。
综上,由于我们显然要最小化这个减去的代价,所以可以用最小割来求解。

最小路径覆盖

做法:

首先将每个节点拆成(Xi,Yi)两个节点,建立源点和汇点,分别连接(S,Xi)和(Yi,T)。
然后对于每一条原图中的边,建立边(Xi,Yi)即可。
ans=总点数-最大流

思维过程:

我们首先将原图用n条路径覆盖,每条边只经过每个节点。
现在尽量合并更多的路径(即将两个路径通过一条边首尾相连)。
可以知道,每合并两条路径,图中的路径覆盖数就会减少1。
所以我们只需要利用网络流合并相关的路径即可。

转载于:https://www.cnblogs.com/Creed-qwq/p/10085371.html

你可能感兴趣的文章
SpringMVC中@RequestMapping参数设置
查看>>
lea实现加法
查看>>
主动FTP vs. 被动FTP 权威解释
查看>>
谈谈对网站性能优化的认识
查看>>
Codeforces Round #413 B. T-shirt buying
查看>>
13组件与容器
查看>>
文件操作
查看>>
spring容器启动的加载过程(三)
查看>>
jdbc连接数据库代码
查看>>
loadrunner使用system()函数调用Tesseract-OCR识别验证码遇到的问题
查看>>
【XSY2731】Div 数论 杜教筛 莫比乌斯反演
查看>>
flash 随机函数
查看>>
一些命令及参数
查看>>
Bootstrap validation
查看>>
2017.4.18-morning
查看>>
When Startup Disk is Full
查看>>
mysql的常用引擎
查看>>
安排考场,贪心
查看>>
删除小于一定尺寸的模型
查看>>
Python全栈_Day5_用户、群组、权限
查看>>