摘要: 告诉了一个有向图G(V,E)、源点S、汇点T。假设这个网络图的最大流是mflow。那么请问,一共有多少条这样的边:仅仅增加此条边的容量上限,可以使得mflow变大,输出这些边分别是什么。先跑一遍最大流得到残留网络。从st深搜残留网络中所有未满流的边,把能到达的点标记。从en做同样的事。显然对于一条满足题意的边必有u在st能到达。v在en能到达。枚举所有边即可。 1 // File Name: 3204.cpp 2 // Author: Missa 3 // Created Time: 2013/4/18 星期四 22:48:07 4 5 #include<iostream> 6 . 阅读全文
posted @ 2013-04-18 23:45 Missa 阅读(230) 评论(0) 推荐(0) 编辑
摘要: N个人,告诉一系列谁有谁的联系方式。 问题:指定S,T两个人,问除这两个人以外,最少踢掉几个人,可以使得这两个人无法联系的上。给出字典序最小的一种方案。拆点。因为题目要求的是剔除多少个点。我们要把他转换成剔除多少条边。所以要拆点。枚举删除每一条边,其余边与原图一致,判断新图的最小割是否比原图减少。减少说明是割集的边。 1 // File Name: 1815.cpp 2 // Author: Missa 3 // Created Time: 2013/4/18 星期四 19:31:30 4 5 #include<iostream> 6 #include<cstdio> 阅读全文
posted @ 2013-04-18 21:43 Missa 阅读(343) 评论(0) 推荐(0) 编辑