博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

随笔分类 -  网络流——最大流 最小割

摘要:/kk 阅读全文
posted @ 2020-09-26 18:23 SovietPower 阅读(199) 评论(1) 推荐(1) 编辑
摘要:我一定是闲的无聊才会去做这个... 阅读全文
posted @ 2019-04-26 09:02 SovietPower 阅读(535) 评论(0) 推荐(2) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-04-04 15:17 SovietPower 阅读(281) 评论(0) 推荐(0) 编辑
摘要:给定n以及n个点任意两点之间的最大流,求一张无向图满足给定条件。 n100阅读全文
posted @ 2019-03-14 20:38 SovietPower 阅读(239) 评论(0) 推荐(0) 编辑
摘要:无摘要.. 阅读全文
posted @ 2019-02-11 20:14 SovietPower 阅读(218) 评论(2) 推荐(0) 编辑
摘要:无摘要*10 阅读全文
posted @ 2019-01-22 16:16 SovietPower 阅读(424) 评论(0) 推荐(0) 编辑
摘要:还是没有摘要。 阅读全文
posted @ 2018-12-30 21:16 SovietPower 阅读(1305) 评论(0) 推荐(0) 编辑
摘要:为什么我写的这么长啊== 阅读全文
posted @ 2018-12-14 07:12 SovietPower 阅读(182) 评论(0) 推荐(0) 编辑
摘要:最大密度子图QAQ 阅读全文
posted @ 2018-12-13 12:41 SovietPower 阅读(345) 评论(0) 推荐(0) 编辑
摘要:没别的意思就是我懒 阅读全文
posted @ 2018-12-06 10:23 SovietPower 阅读(1666) 评论(0) 推荐(0) 编辑
摘要:摘要摘要摘要 阅读全文
posted @ 2018-12-01 22:24 SovietPower 阅读(191) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 最小割树模板。具体见:https://www.cnblogs.com/SovietPower/p/9734013.html。 ISAP不知为啥T成0分了。。 Dinic: cpp //1566ms 2.24MB include include include include // de 阅读全文
posted @ 2018-10-18 16:01 SovietPower 阅读(238) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题意: 给定一张无向图,求任意两点之间的最小割。 在所有点中任选两个点作为源点S、汇点T,求它们之间的最小割ans,并把原图分成两个点集S,T,用ans更新两个点集间的答案。 然后再分别对两个点集S,T重复这个过程,直到集合中只剩一个点。 这样就可以求出 阅读全文
posted @ 2018-10-01 08:20 SovietPower 阅读(294) 评论(0) 推荐(0) 编辑
摘要:你需要用给定的n个武器摧毁m架飞船中的某一些。每架飞船需要被摧毁恰好一次。 武器共三种:1.可以在给定的集合中摧毁一架飞船;2.可以摧毁区间[l,r]中的一架飞船;3.摧毁给定三架飞船中的恰好两架(保证武器3中给定的所有飞船不同)。 某些武器可以可以不用。求最多能摧毁飞船的数量。 阅读全文
posted @ 2018-09-29 17:12 SovietPower 阅读(264) 评论(0) 推荐(1) 编辑
摘要:"题目链接" 想一下能猜出,最优解中海拔只有0和1,且海拔相同的点都在且只在1个连通块中。 这就是个平面图最小割。~~也可以转~~必须转对偶图最短路,不然只能T到90分了。。边的方向看着定就行。 不能忽略回去的边,因为最小割的形状可能很奇怪。 cpp //16232kb 456ms //平面图点数就 阅读全文
posted @ 2018-08-25 17:09 SovietPower 阅读(218) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 为什么这题网络流这么快, "海拔" 那题就那么慢。。 cpp //119968kb 544ms //路不是有向的,所以要建四条边。。既然如此就直接将反向边的流量设为w了。(or MLE...) include include include // define gc() getchar 阅读全文
posted @ 2018-04-08 21:31 SovietPower 阅读(176) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 题目是求最长反链,反链指点集内任意两点不能互相到达。 根据Dilworth定理,在DAG中,==V 用Floyd求一遍传递闭包后,在所有可互相到达的点间连边。求二分图最大匹配。 也可以这么理解: 每一条边表示这两个点不能同时被选中,选出最 阅读全文
posted @ 2018-04-04 10:13 SovietPower 阅读(221) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 没有D的限制怎么做?"最小"我们可以想到最小割,把同一纵轴上的点串起来,分别连到S,T,最小割就是答案。(在这把点权放到前一条边上) 有限制,即如果要割点i,对于相邻纵轴只能去割[iD,i+D]。 用INF边限制住这个区间,即由iiD连,由i+Di阅读全文
posted @ 2018-04-02 20:29 SovietPower 阅读(143) 评论(0) 推荐(0) 编辑
摘要:"题目链接" 一条边不变其它边减少可以看做一条边增加其它边不变。 假设要加的边lab为(A B,v),那么肯定是要使除这条边外,A B的每条路径上的最小权值都v,这样在连通A,B时(即Kruskal中Union())才一定会选择这条边。 要求路径上最小边的权值v,即要求在路径上有任意一边 阅读全文
posted @ 2018-03-30 09:57 SovietPower 阅读(177) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示