二分图
浪子小黄人
这个作者很懒,什么都没留下…
展开
-
poj 1469 COURSES (二分图匹配)
题意:N个学生P门课程,每个学生见习0,1或更多课程。试判断是否能从这些学生中选出P名学生组成一个委员会同时满足以下条件: 1.委员会中的每名学生代表一门不同的课程 2.每门课程在委员会中有一名代表。 思路:求解二部图的最大匹配。不难发现,只要匹配可以盖住每门课程,即匹配数与课程数量相等,委员会就可以组成。原创 2015-02-07 15:16:33 · 771 阅读 · 0 评论 -
MZL's City (hdu 5352 最小费用流 ||二分图匹配)
题意:有n个城市m年前被地震摧毁,道路也被破坏了,m年间进行了一些城市和道路的重建,有三种操作: (1)1 u表示重建u或者与u直接相连或间接相连的城市; (2)2 u v表示在城市u和v之间建一条道路; (3)3表示发生地震破坏了哪些道路。 每年最多重建K个城市,城市一旦重建就不会再被地震摧毁,问这m年后总共重建的城市数目最大为多少,并按照字典序输出每年建造的城市数目。 思路:起初只知道要倒着来,具体怎么弄没想出来,看了题解是用二分图匹配,这是我第一次遇到把操作当做节点的,太弱,还是题目做少了=-=。但感原创 2015-08-07 10:34:40 · 905 阅读 · 0 评论 -
The King’s Problem (hdu 3861 强连通缩点+最小路径覆盖)
题意:n个城市m条有向边,把这些城市分成若干个州,分的原则是(1)u和v可以互相到达的话他们两个必须在同一个州(2)同一个州里任意两个城市u和v要满足u可以到达v或者v可以到达u。问州的最小个数是多少。 思路:先用Tarjan算法进行缩点,在缩点后的图上进行二分图匹配,最后求得最小路径覆盖=强连通个数-最大匹配数。 可以看一下: http://blog.csdn.net/hellobabygogo3/article/details/7900812 http://www.cnblogs.com/ka20081原创 2015-08-02 11:02:54 · 1004 阅读 · 0 评论 -
My Brute (hdu 3315 二分图最大权匹配KM算法)
题意:starvae和xingxing各有n个英雄,starvae的每个英雄有血量Hi和攻击力Ai,xingxing的每个英雄有血量Pi和攻击力Bi,每轮比赛两人各出一个英雄i和j进行对抗,每次starvae的英雄i先攻击,则 j 会掉Ai的血,然后由j攻击,i掉Bj的血,谁的血先小于等于零就输了,若starvae赢了得v[i]的分,输了失v[i]的分,问最后starvae能得到的分的最大值是多少。 思路:这种题型是给出现有的匹配,求匹配的最大权值和改动的边数。若点数为N,则把每条边的权值扩大x倍(x>N)原创 2015-07-06 13:07:06 · 1179 阅读 · 0 评论 -
Assignment (HDU 2853 最大权匹配KM)
题意:n个公司m个任务,每个公司只接受一个任务,每个任务只被一个公司接受,每个公司i接受任务j的做事效率为g[i][j],现在已经分配好了,问怎样改变任务分配可以让效率最大,求出要改动的公司数目和增加的效率。 思路:与hdu3315相似,hdu 3315;若点数为N,则把每条边的权值扩大x倍(x>N),若是原有匹配,则再把权值加1。最后KM算法求出ans,则最大权值之和=ans/x,没有被改动的=ans%x。原创 2015-07-06 14:22:57 · 758 阅读 · 0 评论 -
Cyclic Tour (hdu 1853 二分图最小权问题)
题意:给出n个城市和m条路,有向图,现在Tom想游遍这n个城市,满足路线是若干个回路,要求每个城市要在一个回路中,每条边有一定的旅游花费,问Tom游遍所有城市的最小旅游花费。 思路:二分图最小权问题,把边权取反,用KM算法。原创 2015-07-05 09:23:35 · 1014 阅读 · 0 评论 -
Mining Station on the Sea (hdu 2448 SPFA+KM)
题意:有m个海上基站,n个港湾,现在有n只船在n个基站里,基站与基站之间有通讯的船才可以走这条路,告诉基站之间的距离,基站与港湾的距离,现在船要回到港湾,一个港湾只能停靠一只船,而且一旦进去就不能出来了,求所有船都回到港湾要走的最短距离之和。 思路:先用最短路求出每个船的起始点到每个港湾的最短距离,并且连边,然后求二分图的最小权匹配,用KM算法。费用流也可以做,但我姿势不够优美超时了。。。原创 2015-07-10 16:53:51 · 846 阅读 · 0 评论 -
Treasure Hunting (hdu 3468 二分匹配+bfs最短路径)
题意:在一个R*C的地图内,字母表示集合点,‘*’表示宝藏,‘.’表示空地,现在沿着A->....->Z->a->....->z的方向走,途中从一个集合点到下一个集合点之间只能捡一个宝藏,问最后最多能捡多少宝藏。 思路:将集合点和宝藏分别看成两个集合,若在集合点x到y的最短路径上有‘*’,那么就在x和‘*’之间连边。bfs求出所有集合点到下一个集合点的最短路径。原创 2015-05-01 20:26:20 · 722 阅读 · 0 评论 -
Marriage Match II (hdu 3081 二分图+并查集)
题意:n个女孩n个男孩,女孩选男朋友,如果两个女孩认识,那她们可以在自己认识的或对方认识的男孩中任选一个,选完一轮后打乱重新选,已经配对过的不能再选在一起,问最后最多能选几轮。 思路:先用并查集,再建图进行二分匹配,一次匹配完后将匹配的边去掉再进行匹配,直到匹配数<n。原创 2015-04-22 21:28:14 · 695 阅读 · 0 评论 -
hdu 2444 The Accomodation of Students (二分图匹配+染色法)
The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2895 Accepted Submission(s): 1351 Problem Description原创 2015-02-07 17:34:25 · 744 阅读 · 0 评论 -
Ants (poj 3565 最小权匹配)
题意:告诉n个蚂蚁和n棵苹果树,问每只蚂蚁去哪个苹果树使得所有路径不相交。 思路:最小权匹配能保证路径不相交。原创 2015-10-08 21:38:54 · 400 阅读 · 0 评论