【数据范围】
对于30%的数据,保证N < =1000
对于100%的数据,保证N < =1000000
两种解法
(1)二分图
把每个物品和属性都当成点,物品为黑部,属性白部。物品向它有的属性建边。从属性1的点开始向下匹配,匹配到不成功即为答案。
(2)并查集
把属性当成点,物品当成边。那对于每一条边,可以选择他两端的一个点。
如果一个联通块是一棵大小为n的树,我们可以从其中选出n-1个点。否则可以选出所有的点。
记录联通块是不是树和联通块内最大的属性值,合并即可。
选点肯定是先选出小的点来构成1,2,3,4,5……所以判断当一个属性是它所在联通块最大值时,此属性为答案
原文:http://www.cnblogs.com/wsy01/p/7932144.html