网络流 1

最大流

不想讲挺多关于板子的东西
还是,会个Dinic就可以开始做题了
Dinic板子练手
常见的套路就是拆点之类的东西
还有一些是二分图之类的东西,二分图是比较好看出来的
讲个拆点的再讲个二分图先

可以用网络流的数据范围都不大,
差不多n,m=100

拆点

应该都知道最大流,流的属性体现在边上
但是有的限制是关于点的限制
这个时候我们把点的限制转换成边的限制

先讲个题
酒店之王
首先一个思路就是:
房和菜连边流量1
菜和T连边流量1
房和S连边流量1

于是您Wrong Answer了......
原因就是,一个人会算多遍
这不简单?连个中间点就结束了
可是网络流管边啊......
所以我们对中间点拆点,中间加一条流量为1的边即可

黑白染色转二分图

网格图神器
有些操作比较骚,
这里边有的点限制你没看出来是什么东西
然后你就考虑在网格图上黑白染色
看看能不能搞出一种染色方式使得两个操作对象颜色不同
然后这样就可以把对象当点,操作当边转成二分图搞

二分图

二分图最小点覆盖的点数,等于二分图最大匹配的边数
二分图最大独立集的点数,等于点总数减掉最小点覆盖

最小割

最小割等于最大流

先记住这一句话

流量为inf的边

事实上由于最小割的最小性质,
我们加的这个流量为的边显然不会出现在最小割里对吧
所以我们连的流量为的边事实上表示原图上这条边不被割断
所以这个也就有一个防止割断的意思

最大权闭合子图

这个东西水经验还是比较多的

费用流

posted @   2K22  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示