网络流 1
最大流
不想讲挺多关于板子的东西
还是,会个Dinic
就可以开始做题了
Dinic
板子练手
常见的套路就是拆点之类的东西
还有一些是二分图之类的东西,二分图是比较好看出来的
讲个拆点的再讲个二分图先
可以用网络流的数据范围都不大,
差不多
拆点
应该都知道最大流,流的属性体现在边上
但是有的限制是关于点的限制
这个时候我们把点的限制转换成边的限制
先讲个题
酒店之王
首先一个思路就是:
房和菜连边流量
菜和
房和
于是您Wrong Answer
了......
原因就是,一个人会算多遍
这不简单?连个中间点就结束了
可是网络流管边啊......
所以我们对中间点拆点,中间加一条流量为
黑白染色转二分图
网格图神器
有些操作比较骚,
这里边有的点限制你没看出来是什么东西
然后你就考虑在网格图上黑白染色
看看能不能搞出一种染色方式使得两个操作对象颜色不同
然后这样就可以把对象当点,操作当边转成二分图搞
二分图
二分图最小点覆盖的点数,等于二分图最大匹配的边数
二分图最大独立集的点数,等于点总数减掉最小点覆盖
最小割
最小割等于最大流
先记住这一句话
流量为inf的边
事实上由于最小割的最小性质,
我们加的这个流量为
所以我们连的流量为
所以这个也就有一个防止割断的意思
最大权闭合子图
这个东西水经验还是比较多的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具