花了整整一天来刷,先放这么多,大多数都是比较简单的题
二分图:
Codeforces 19E:先构造一颗生成树,考虑多环,则必须删掉一条树边,容易证明这条边属于所有奇环,不属于任何偶环,具体还请看题解= =||
HDU 2444&3478:二分图判定,染色
HDU 3118:这道题让我想到了CF15E。n<=15,所以枚举二分图两边的点集再判断O(2^n*m)
UVA 10004:同HDU 2444
最大匹配:
BZOJ 1059:转化了以后您会发现是裸的最大匹配
HDU 1045:同HDU 5093,不过这范围。。。。随便爆搜都可以
HDU 1179:裸的不解释
HDU 1281:经典题,直接最大匹配,必须放的车算n次匈牙利就可以
HDU 1507&4185:经典题,把大矩形的点分为两类,每个小矩形看成一条边,构成二分图,maxmatch
HDU 1528&1962:为什么很多人认为这是最小点覆盖?按大小关系建图,maxmatch
HDU 2236:二维坐标系,对点权排序,枚举下界套匈牙利,应该很熟悉了吧。?
HDU 2389:好熟悉的一道题,基本上是裸的,不过据说。。匈牙利会T掉,只能苦逼用HK算法了
还是放个链接在这吧,以后学学:http://www.cnblogs.com/-sunshine/archive/2012/08/30/2664242.html
HDU 2413:二分时间,然后maxmatch就行
HDU 2819:同BZOJ 1059
HDU 3729:每个区间 与 x轴上所有点匹配
HDU 5093:分段建图,每一行隔开的是一段,横段和纵段,内部不影响,有水域建边,maxmatch,只不过这个建图看起来很麻烦诶、
POJ 1274&1469:裸的
POJ 1321:同HDU 1281
POJ 1486:有关系就建边,裸的
POJ 1698:裸多重匹配,最大流
POJ 1719:二维转化,因为每列有两个白格子,所以每列连两条边
POJ 2195:带权匹配,KM算法搞定(蒟蒻还没学,只会dinic)
POJ 2239:天和课程看成两个集合,裸的
POJ 2400:带权匹配,KM算法
POJ 2446:同HDU 1507
POJ 2536:裸的
POJ 3057:每个门都要按时间拆,这样解决了1s 1个的问题,跑一遍匈牙利即可
POJ 3343:同HDU 2413
POJ 3565:易证距离和最短的匹配一定是满足条件的,用KM算法即可解
UVA 753:裸匹配
ZOJ 1654:同HDU 1507
最小点覆盖:
BZOJ 3140:这题是三维的,但abc<=5000,开立方后您会发现最大的不超过17,于是就2^a枚举最小的一维,剩下暴力,随便加几个剪枝就行了
HDU 1054:无根树最小点覆盖,maxmatch/2(注:/2的原因是从二分图两边都要匹配),但因为是树,用树形DP可以做到O(n)
HDU 1150:无向二分图图最小点覆盖,maxmatch
HDU 1498:二维坐标系,每个颜色分开算
HDU 2119:经典题,转化了就是裸的
HDU 3360:这些题都差不多啊,裸的
HDU 4619:横牌和竖牌为两类,两类内部无矛盾,两类之间建矛盾边,所有牌-最小点覆盖,最小点覆盖=maxmatch
POJ 1325:同HDU 1150
POJ 1463&3342:同HDU 1054
POJ 2145:裸最小点权覆盖,我又反应慢了啊。。。
POJ 2226:这题可以重复覆盖(开始蒟蒻以为不能,想了好久)!!建图同HDU 5093,直接最小点覆盖就可以
POJ 3041:二维转化后就很显然了
POJ 3308:裸最小点权覆盖
最小路径覆盖:
HDU 1151:DAG最小路径覆盖,每个点只能经过一次,|V|-maxmatch
HDU 1350&1960:DAG最小路径覆盖,如果接完i再接j连一条有向边,|V|-maxmatch
HDU 3861:我想到了ZJOI最大半连通子图。。。先缩点,再覆盖
HDU 4160:显然DAG,直接最小路径覆盖,怎么这么水啊
POJ 1422:同HDU 1151
POJ 1548:建图DAG,裸的
POJ 2060:同HDU 1350
POJ 2594:DAG最小路径覆盖,每个点可以经过多次,先传递闭包,|V|-maxmatch
POJ 3020:最小路径覆盖,这道题一定要对二维转化和最小路径覆盖的理解的非常深刻
POJ 3216:同HDU 1350
最大独立集&最大团:
HDU 1565&1569:最大点权独立=总权-最小点权覆盖=totalflow-maxflow,dinic
HDU 2458:同性间互相认识,所以最大团转化二分图的最大独立集,g+b-maxmatch
HDU 2768&3829:显然题目分了两类人,同一类人没有矛盾,这样构造二分图。有矛盾连边,答案就是最大独立集,n-maxmatch
HDU 3517:同上
POJ 1466:二分图两边都要匹配n-maxmatch/2
POJ 1466:同HDU 2768
POJ 2771:由于有性别,所以分为两类,内部没有关系(证明了是二分图),剩下有关系建边,变成最大独立集
POJ 3692:同HDU 2458