
二分图最大匹配
nywsp
这个作者很懒,什么都没留下…
展开
-
二分图最大匹配
主要思想是匈牙利算法刚开始去网上搜了很多,,,但是上面的术语太多。。。那个增广路径刚开始没看懂。。。。后来自己琢磨一下。。。。 原理是这样的、、、从二分图的一个子集A的点Ai开始匹配。若Ai与子集B中的点Bj相连。此时Bj有两种可能:一种是Bj还未匹配,还有一种情况则是Bj已经与Aj匹配,但通过搜索Aj可以与其他点匹配。这两种情况均可以把Ai与Bj匹配,记做:link[Bj]:=Ai 杭电原创 2012-07-24 17:54:56 · 458 阅读 · 0 评论 -
hdu 4160 二分图最小路径覆盖
最小路径覆盖=点数—最大匹配; 可以理解为如果匹配为0,则路径=点数。 每增加一次匹配则点数减1,,所以最小路径覆盖=点数—最大匹配; #include #include int m,n,u,use[503],st[503][503],link[503]; struct ss { int c,k,g; }s[503]; int find(int v) { int i,j;原创 2012-12-10 17:06:30 · 490 阅读 · 0 评论 -
hdu1068 Girls and Boys 最大独立集
最大独立集=点数-最大匹配这题是双向边所以最大匹配/2#include #include int m,n,u,use[503],st[503][503],link[503]; int find(int v) { int i,j; for(i=1;i<=m;i++) { if(st[v][i]&&!use[i]) { u原创 2012-12-10 18:37:53 · 430 阅读 · 0 评论 -
nyoj 237 最小点覆盖集 vector的使用
最小点覆盖集=最大匹配。。。 #include #include #include #include using namespace std; vector st[503]; int m,n,u,use[503],lin[503]; int find(int v) { int i,j; for(i=0;i<st[v].size();i++) { int原创 2012-12-10 19:25:03 · 593 阅读 · 0 评论 -
hdu Cat vs. Dog (最大匹配 ——最大独立集)
Cat vs. DogTime Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 5 Accepted Submission(s) : 2Font: Times New Roman | Verdana | GeorgiaFont Size: ← →Pr转载 2012-12-10 20:12:49 · 1131 阅读 · 1 评论