hdu1068||poj1466(最大独立集)

来源:互联网 发布:剑三萝莉脸型数据 2016 编辑:程序博客网 时间:2024/05/17 02:17

最大独立集点数 = N - 最大匹配数/2

http://acm.hdu.edu.cn/showproblem.php?pid=1068

http://poj.org/problem?id=1466

Girls and Boys
Time Limit: 5000MSMemory Limit: 10000KTotal Submissions: 8998Accepted: 3969

Description

In the second yearof the university somebody started a study on the romanticrelations between the students. The relation "romanticallyinvolved" is defined between one girl and one boy. For the studyreasons it is necessary to find out the maximum set satisfying thecondition: there are no two students in the set who have been"romantically involved". The result of the program is the number ofstudents in such a set.

Input

The input containsseveral data sets in text format. Each data set represents one setof subjects of the study, with the following description:

the number of students
the description of each student, in the following format
student_identifier:(number_of_romantic_relations)student_identifier1 student_identifier2 student_identifier3...
or
student_identifier:(0)

The student_identifier is an integer number between 0 and n-1 (n<=500 ), for n subjects.

Output

For each given dataset, the program should write to standard output a line containingthe result.

Sample Input

7
0: (3) 4 5 6
1: (2) 4 6
2: (0)
3: (0)
4: (2) 0 1
5: (1) 0
6: (2) 0 1
3
0: (2) 1 2
1: (1) 0
2: (1) 0

Sample Output

5
2

Source

Southeastern Europe 2000

题意:有n个学生,其中他们之间某些人有联系,问你最多能找出多少个学生组成一个集合,使得这个集合内的学生任何两个之间没有联系。

思路:最大独立集问题:在N个点的图G中选出m个点,使这m个点两两之间没有边.求m最大值.如果图G满足二分图条件,则可以用二分图匹配来做.最大独立集点数= N - 最大匹配数/2,然后就是匈牙利算法实现了。

>这个问题拆点后的二分图为男在一边,女的在另一边。因此如果确定为一边的点,就不可能于同一边的点相连。而且由于在寻找最大匹配时不是枚举其中一边的点,而是枚举两边的所有点,所以得到的ans为最大匹配数的两倍,因为每条匹配的边都算了两遍。

原创粉丝点击