【二分图匹配】

来源:互联网 发布:linux eclipse 下载 编辑:程序博客网 时间:2024/05/03 08:25

一般都是求最值问题

不存在奇环

两个矛盾的量


HDU:

1083:简单最大匹配,学生和课程匹配一下



1281:棋盘放棋,X和Y匹配一下,数重要点个数,只要把该点和与其关联边删去,如果没有其他增广路,就是重要点



2063:模板题


1045:棋盘问题

匹配XY



1054:最小点覆盖=最大匹配数



1068:最大独立集=n-最大匹配数


1150:最小点覆盖=最大匹配数



1151:有向图的最小路径覆盖

建有向边,最后不用除2



1507:1*2格子放置问题,把可以构成格子的两点编号匹配



1845:有一个结论

给一n个点的三正则图,求最大匹配。
根据握手定理,n一定是偶数。
由于三正则图,而且题目提示是2边连通,所以图中不存在桥,也就是一定可以找到一条回路经过每个顶点至少一次(强连通的定义:强连通图一定存在一条回路记过每个顶点至少一次)由于是三则图,每个顶点的度是3,如果这条回路经过某个顶点2次,那么这个顶点的度就是4,这个和条件矛盾。
这条经过每个顶点一次的交错路就可以作出n/2匹配。

或者直接二分图匹配也行



2389:Hopcroft-carp


2444:判断是否为二分图,再最大匹配(染色法判断)


3360:理解题意是难点
★★
3729:字典序最大的最大匹配(从N向1扫就行)



3829:最大点独立集


4185:一个N*N的图中有几个最多几个##

把每个#编号,跑二分图即可



4619:把矛盾的编号,匹配


2819:将矩阵变换成对角线元素为1的矩阵

将XY匹配一下,满足N的换,不满足-1,再模拟一下就行



2119:将矩阵某列或某行的1全部删除,问最少次数矩阵没1

将1的XY连边,转化为最小点覆盖问题,hungary就行

★★★


3118:题目要求是去掉最少的边使得图中不存在路径长度为奇数的环,这个问题等价于

在图中去掉若干条边,使得这个图成为二分图。注意到n不是很大,于是我们可以想到

二进制枚举,枚举每条边的两个顶点是否在同一个集合中,若是,则删除这条边。

★★★


2255:带权最大匹配

KM算法模板题

★★★


3605:二分图多重匹配模板题

★★★


1669:求所有组中的最大值使其最小的数量

典型的二分图多重匹配,二分答案再判可行性

★★★


4685:强连通分量+二分图匹配

看题解才会= =

★★★

2 0