二分匹配
文章平均质量分 71
LiWen_7
这个作者很懒,什么都没留下…
展开
-
hdu 1045Fire Net (建图 、二分匹配)
题意:需要求最大的放置炮台数(每个炮台都不能在其他炮台攻击范围内)。 炮台攻击范围是:该炮台所在的行和列,但是‘X'可以阻挡炮台攻击。 思路:二分匹配必须要有两个互不关联的集合,所以可以将行和列看做两个集合,但是’X'可以阻挡攻击,即若一行中有‘X'则该行可能放2个炮台。所以,我们将每行和每列相连的’ . '作为一个点(标号一致),这样按照行或列形成的图中标号的个数即为各原创 2012-08-02 13:31:39 · 2881 阅读 · 0 评论 -
hdu 2063(基础二分匹配)
二分图是一种特殊的图 对于无向图G=(V,E),如果V可以分为两个互不相交的子集(X,Y),并且图中的每条边所依附的两点属于不同的子集,则图G则称为一个二分图,所以二分图也可以记作G(X,E,Y) 边的描述: e={x,y} x来自G的顶点集X,y来自G的顶点集Y 我们说e连接顶点x和y,并说x和y与e关联 判断是否为二分图: 定理:一个无向图G=是二分图当且仅当G中原创 2012-07-28 21:19:53 · 5047 阅读 · 0 评论 -
hdu 1150Machine Schedule(最小顶点覆盖)
首先必须知道König定理: 最大匹配值 = 最小顶点覆盖。 该定理的证明(转自):http://www.matrix67.com/blog/archives/116 二分图最大匹配的König定理及其证明 本文将是这一系列里最短的一篇,因为我只打算把König定理证了,其它的废话一概没有。 以下五个问题我可能会在以后的文章里说,如果你现在很想知道的话,网上原创 2012-07-29 16:40:47 · 743 阅读 · 0 评论 -
3478 Catch (判断是否为二分图,dfs奇偶染色)
题意:给出一个无向图,一个起点,问是否在某个时候,这个人有可能在所有点都可以出现人不能停留在原地 只有当该无向图中出现由奇数个点组成的环,才可能访问每个点时即可能为奇数又可能为偶数。 所以:如果我们把图中奇数时刻能够到达的点归到X集合,偶数能到点归到Y集合,那么如果图中出现相同集合的点有 边相连,那么就不满足二部图的性质,即可输出Yes,如果原图可二部图话,答案就是No了(无向图G为二部图原创 2012-07-31 21:48:19 · 2384 阅读 · 0 评论 -
hdu 1151 DAG图(有向无环图)的最小路径覆盖
/*DAG图的最小路径覆盖, 最小路径覆盖数 = 顶点数 - 最大匹配数 解释:一条路径覆盖两个点,意思是最大匹配可以覆盖->(2 * 最大匹配)个点 一个匹配,一条路径 剩下的点都需要单独一条边覆盖 所以:最大匹配数 + (n - 2 * 最大匹配数)= 最小路径覆盖 */ #include #include using namespace std; const int VN=1510; con原创 2012-07-31 15:23:19 · 1753 阅读 · 0 评论 -
1281棋盘游戏(二分匹配+删边)
不能放车的地方不影响车的互相攻击。 因为不影响,所以可以以整行,整列为单位建图 因为要删边,矩阵方便点 求最大匹配数,但是这题还有一个要求是: 求有多少个关键点,该关键点是指:若没有这一点则“车”放的个数将减少(即:匹配数量减少)。 那就模拟下,原来有边的点除去,检测最大匹配数是否和原来一样 如果一样,则不是关键点,如果是,则是关键点,累加 #原创 2012-07-31 17:17:46 · 1143 阅读 · 0 评论