博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一篇完全不正确的网络流总结大杂烩
阅读量:7027 次
发布时间:2019-06-28

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

前言

其实我只是为了把网络流的总结放在一起的(你信吗)

二分图最大匹配

匈牙利

  1. 对于左边的枚举每一次选的左边的人
  2. 对于右边与他有连边的那么就是能换则换,不然就不换
  3. 最后统计出来的可行的就是\(ans\)

最大流

随便搞一下不就可以了吗?

二分图完美匹配

我们令左边的点(其实二分图没有什么左右)为女生,右边的点为男生,那么:

  1. 为每一个女生定一个心仪值,心仪值为她与男生连边中的最大值
  2. 为每一个女生找对象,要求男生的心仪值和女生的心仪值的和为他们的边权(男生的心仪值初始为0真惨
  3. 如果没有找到对象,那么将2过程中的女生的心仪值全部-Min,男生的心仪值全部+Min(这个Min是通过自己算的,就是女生除了之前或当前心仪的男生外最心仪的男生的心仪值与她的心仪值之和减去边权的值)
  4. 重新为她找对象,直到找到或者当前女生的心仪值为0。

最大流

Dinic

  1. 建残量网络图
  2. 在残量网络图上跑增广路
  3. 重复1直到没有增广路(注意一个残量网络图要尽量把价值都用完,不然会浪费建图的时间)

HLPP

这个的总结好像还没有写,但是应该也快了。

有上下界的网络流

前言

其实这里有很多个,但是我现在还没写完,所以更新的比较慢,应该明天可以写完。

最小费用最大流

  1. 用最短路算法求出s->t的路径(把路径要抠出来,而且每条边要有容量)
  2. 算一下路径里面的可以流过的最大的流量
  3. 发现此时的花费就是\(dis_t*Flow\),累加即可.
  4. 重复1->3直到不能够到达t.

其他

剩下的就还是建模与应用吧。

这些主要还是看具体的题目,因题而异。

拆点

一般性用于一个点需要与其他点多次连边。

或者是

超级源点与汇点

一般性都需要这种东西吧,如果一个图有多个源点或者多个汇点,那么一般性就要这么写。

线段树优化连边

毒瘤jukai,毁我青春

还不会,1.12补坑。。。

其他中的其他

其实这个就纯在实在废话了,大家可以参考汝佳的蓝书

转载于:https://www.cnblogs.com/mle-world/p/wang-luo-liu-zong-jie.html

你可能感兴趣的文章
x86寄存器总结
查看>>
jquery easyui ajax data属性传值方式
查看>>
Elasticsearch分布式机制探究
查看>>
yield-from示例
查看>>
人工智能、机器学习和深度学习的区别与联系?
查看>>
封装了些文件相关的操作
查看>>
把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。
查看>>
Linux下Makefile的automake生成全攻略
查看>>
程序扩展
查看>>
CCF NOI1004 填充矩形
查看>>
51Nod-1050 循环数组最大段和【最大子段和+最小子段和+DP】
查看>>
Dialog总结
查看>>
多数投票算法
查看>>
Delphi 获取当月第一天和最后一天
查看>>
bind的使用
查看>>
Android Studio导入第三方类库的方法
查看>>
UBUNTU 自动挂载 NTFS
查看>>
CSharp设计模式读书笔记(0):设计原则(学习难度:★★☆☆☆,使用频率:★★★★★)...
查看>>
大话设计模式第九章---原型模式PHP实现
查看>>
什么是Solr
查看>>