经典二分图匹配问题。把每个点拆成两个,对于原图中的每一条边(i,j)连接(i,j+n),最小路径覆盖就是点数n 二分图最大匹配。方案直接顺着匹配dsf。。 cpp include include using namespace std; const int N=505,M=120005; int n ...
分类:
编程语言 时间:
2018-02-07 00:34:04
阅读次数:
207
题面 应该是二分图匹配,不过我写的是网络最大流。 dinic求二分图最大匹配:加个源点和汇点,源点连向二分图的一边所有点,二分图的另一边所有点连向汇点,很明显这样得到的最大流就是这个二分图的最大匹配。 ...
分类:
其他好文 时间:
2018-02-06 14:25:45
阅读次数:
203
题目链接:https://vjudge.net/problem/HDU-4687 知识点: 带花树开花算法 解题思路: 先求出原来的一般图的最大匹配数\(iCnt\). 然后枚举每一个组合,尝试去掉图中所有以这个组合中任意一点为端点的边,求出此时的最大匹配数\(tCnt\),如果\(tCnt<iCn ...
分类:
其他好文 时间:
2018-02-04 22:47:53
阅读次数:
234
二分图最小覆盖数=最大匹配数 建模后即可 #include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct my{ int next; int v;};const int maxn=1000000+10;co ...
分类:
其他好文 时间:
2018-01-30 16:36:51
阅读次数:
132
匹配:一个图中选出一些边来使得任意边所连接的顶点不同, 最大匹配:边数最多的匹配 最大权匹配:边权最大的匹配 完美匹配:所有节点都包括的匹配 覆盖:无向图的一个顶点子集,使得边集中任意一条边都至少一个顶点在这个子集中 最小边覆盖:点最少的覆盖 最小边覆盖数=最大匹配数 独立集:一个无向图中不存在一条 ...
分类:
其他好文 时间:
2018-01-30 16:35:32
阅读次数:
157
DAG的最小不相交路径覆盖 算法:把原图的每个点V拆成Vx 和Vy两个点,如果有一条有向边A->B,那么就加边Ax?>By 。这样就得到了一个二分图。那么最小路径覆盖=原图的结点数-新图的最大匹配数。 证明:一开始每个点都是独立的为一条路径,总共有n条不相交路径。我们每次在二分图里找一条匹配边就相当 ...
分类:
其他好文 时间:
2018-01-28 12:52:02
阅读次数:
153
一看就想到了二分图最大匹配的匈牙利算法。 注意要加时间戳优化,不然会超时。 在网上找到了并查集做法,不难理解。 如果没有出现环,那么结果肯定是一片森林。 我们肯定每次选小的。 如果出现了环,那么环所在集合每个数都可以选了。 于是我们使用并查集维护集合。 保证集合的祖宗是整个并查集中最大的属性值。 每 ...
分类:
其他好文 时间:
2018-01-24 22:25:11
阅读次数:
262
人脸识别 人脸识别技术是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术,通常也叫做人像识别、面部识别 人脸识别流程人脸识别技术流程主要包括四个组成部分,分别为:人脸图像采集及检测 ...
分类:
其他好文 时间:
2018-01-24 19:52:20
阅读次数:
224
一道脑洞题,我们发现不能在一起的点对还是比较少的。 我们考虑奇偶性,发现同奇偶性时一定可以,那么我们统计不可以的对,答案就是n-二分图的最大匹配。 ...
分类:
其他好文 时间:
2018-01-23 22:06:39
阅读次数:
187