
图论-二分图匹配
LYoGa
这个作者很懒,什么都没留下…
展开
-
POJ1422-Air Raid(最小路径覆盖)
题目链接题意:给定一个有向图,问最少放多少个伞兵,使得所有路口都能被走到,所有路口有且只被走到一次。思路:二分图的最小路径覆盖。 在一个 N*N 的有向图中,路径覆盖就是在图中找一些路经,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次);如果不考虑图中原创 2014-11-08 15:44:01 · 1322 阅读 · 0 评论 -
POJ1719- Shooting Contest(二分图最大匹配)
题目链接题意:给定一个矩阵,每列有两个白点,其他都是黑点,现在要求每列选一个白点,使得每一行至少包含一个白点被选中思路:利用白点所在的位置行列建图,最大匹配数如果不等于行数的话,就无解。代码:#include #include #include #include #include using namespace std;const int M原创 2014-11-03 20:49:49 · 959 阅读 · 0 评论 -
POJ1466-Girls and Boys(最大独立集)
题目链接题意:n个人,每个人有一个爱慕的集合,现在要挑出一些人,使得集合中没有人两两爱慕,问这个集合最大人数是多少思路:每个人拆成两点,爱慕和被爱慕,建图,求出二分图最大匹配,因为是两两匹配,然后人数n - 最大匹配数 / 2就是最大独立集代码:#include #include #include #include #include using原创 2014-11-03 16:09:50 · 984 阅读 · 0 评论 -
POJ2594-Treasure Exploration(最小路径覆盖变形)
题目链接题意:在一个有向图上,至少放多少个机器人可以遍历整个图(每个顶点可以重复遍历)?思路:最小路径覆盖的变形,因为点可以重复遍历,所以要用floyd重新建图,然后用最小路径覆盖去做。代码:#include #include #include #include #include using namespace std;const int M原创 2014-11-08 18:10:57 · 888 阅读 · 0 评论