摘要:
首先,回顾一下二分图最小点覆盖的定义:二分图中,选取最少的点数,使这些点和所有的边都有关联(把所有的边的覆盖),叫做最小点覆盖。最少点数=最大匹配数结合昨天看的介绍,,今天按照我的理解给出自己的证明(原创,仅作参考,欢迎讨论)从最大匹配数到底能不能覆盖所有的边入手。因为已知了最大匹配,所有再也不能找到增广路了,有最大匹配定义知。现在所有的边就剩下两种情况了,一种是匹配,一种是不匹配。假设所有的匹配边有n条,那么左右边就都有n个匹配边的顶点了,标记所有左边匹配边的顶点,则有n个。问题就是证明n=最小点覆盖,即证明最大匹配数n到底能不能覆盖所有的边入手。考察右边的匹配边的顶点,明显,左边都可以找到 阅读全文
摘要:
大意:给定雪花的六条边长,不论顺序,只要其中有两个雪花六条边的长度都相等,那么输出“Twin snowflakes found”,否则输出“No two snowflakes are alike.”数据范围:0 <n≤ 100000,each integer is at least 0 and less than 10000000思路:将每个状态映射进hash表里,由于不论顺序,我们可以在插入hash表的时候预排序一下,然后再映射进hash表里,如果找到,则标记。注意:如果找到的话,不能直接退出循环,因为题目要求是全部输入完,否则一定会影响后面的结果(影响输入),这里我WA了一次。COD 阅读全文
摘要:
二分图最大匹配问题,这一类的问题难点往往不是算法上,难点在于从一个问题中抽象数学模型,然后去求解。WIKI百科传送门:二分图最大匹配二分图匹配的衍生问题:二分图最大匹配应用附上HDU 2063 例题代码。CODE:/*ED模板*/#include<iostream>#include<cstdlib>usingnamespacestd;#defineMAXN10010#defineMAXM100010structEdge{intv,next;}edge[MAXM];intn,m;intcnt;intgirl,boy;intfirst[MAXN],link[MAXN];bo 阅读全文