传送门
题意:
P最近准备多米诺骨牌,每张多米诺骨牌包含两个数字从1 ~ n, 他能把多米诺骨牌分配给两个集合使得每个集合中的元素都是不相同的吗? 每张多米诺骨牌只能去一个集合
思路:
先考虑特殊的,如果牌的数字重复,一个数字出现 >= 3, 牌的数量是奇数,这些就是不可能的,而且每个数字1 ~ n都必须出现2次,有了以上的条件就可以发现剩下的数字必然构成的都是环,而且只要每个环的数字个数为偶数个,那就是YES,否则就是NO,问题就转换为求求一个个集合环的数量,这个可以用并查集进行实现,详细看代码
总结:
并查集可以判断环,可以求一个联合集合的数字数量,收获很大