随笔分类 - 图论 - 网络流
摘要:题意:给定n个点,m条边的无向图(没有重边和子环)。从给定点出发,每个时间走到相邻的点,可以走重复的边,相邻时间不能停留在同一点,判断是否存在某个时间停留在任意的n个点。分析:(1)首先,和出发点的位置没有关系。因为可以走重复的边,且时间没有限制大小。(2)图必须是联通的(3)1)图为:2-0-1-...
阅读全文
摘要:题意和POJ1635一样,只是多了一项输出路径。 1 #include <iostream> 2 #include <cstdlib> 3 #include <cstdio> 4 #include <string> 5 #include <cstring> 6 #include <cmath> 7
阅读全文
摘要:题意:一张混合图,判断是否存在欧拉回路。分析参考:混合图(既有有向边又有无向边的图)中欧拉环、欧拉路径的判定需要借助网络流!(1)欧拉环的判定:一开始当然是判断原图的基图是否连通,若不连通则一定不存在欧拉环或欧拉路径(不考虑度数为0的点)。其实,难点在于图中的无向边,需要对所有的无向边定向(指定一个...
阅读全文
摘要:题意:给出一些插头,电器,以及转换器,求不能够匹配的电器的最小的数目;转换器是无限多的,有可能有重边。 分析:典型的二分图匹配,但是看题解也有用最大流做的(最大流并不会建模型)。电器,插头两个集合匹配,无法与电器直接相连的插头需要转换器进行转换。 1 #include<cstdio> 2 #incl
阅读全文
摘要:转载最短路问题此类问题类型不多,变形较少POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku...
阅读全文
摘要:找了好久这两个的区别。。。UVA820 WA了 好多次。不过以后就做模板了,可以求任意两点之间的最大流。UVA 是无向图,因此可能有重边,POJ 1273是有向图,而且是单源点求最大流,因此改模板的时候注意一下。而且我居然犯了更愚蠢的错误,以为重边的时候需要选最大的,正解应该是累加。。。。 1 #i...
阅读全文
摘要:转载百度文库花了5分下的不过确实是自己需要的东西经典的最大流题POJ1273——其他练习题POJ3436、题意描述:现在有m个池塘(从1到m开始编号,1为源点,m为汇点),及n条水渠,给出这n条水渠所连接的池塘和所能流过的水量,求水渠中所能流过的水的最大容量.一道基础的最大流题目。但是模板小心使用,...
阅读全文
摘要:题意:有个N*N的网格,有一部分格子里有陨石,小明有很牛逼的武器,打一枪后一行或一列的陨石就没了,给出陨石分布,求最小打炮数。分析:其实就是Konig定理。记最小打炮数为m,在网格里你最多可以找出M个互相之间既不在同一行又不在同一列的元素,也就是说你再找一个元素它必定与已有的某个元素同行或同列,Ko...
阅读全文
摘要:题意:给定一个Y行X列的网格,网格种有重要位置和障碍物。要求用最少的机器人看守所有重要的位置,每个机器人放在一个格子里,面朝上下左右四个方向之一发出激光直到射到障碍物为止,沿途都是看守范围。机器人不会阻挡射线。“#”表示障碍物,“*”表示重要的位置,箭头表示最终机器人匹配的位置,求出机器人能够匹配出...
阅读全文
摘要:题意:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶,告诉每头奶牛愿意产奶的牛棚编号,求出最多能分配到的牛栏的数量。分析:直接二分图匹配; 1 #include 2 #include 3 4 #define MAX 202 5 bool flag,visit[MAX]; //记录V2中的某个点是...
阅读全文
摘要:题意:给N个容器,每个容器里有一定数目的珍珠,现在Jerry开始在管子上面再放一些珍珠,放上的珍珠数必须是K的倍数,可以不放。最后将容器排序,如果可以做到第i个容器上面有i个珍珠,则Jerry胜出,反之Tom胜出。思路:数据比较小,所以我是水过的,模拟过程 + 贪心就能过。但正解是二分图匹配,之前没...
阅读全文

浙公网安备 33010602011771号