标签:
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1854
分析:很裸的一道二分图匹配对吧,但是在hzwer的blog上看见神奇的并查集做法!
其实这题和bzoj1191惊人的相似!
把权值当作点,装备当作边,既然一个装备只能选择一个属性,也就是你要人为给边定向,箭头指到的点就表示你这个装备选的属性。
然后就和bzoj1191一样的了
如果一个集合里的点构成一个树,那么很显然,把那个权值最大的点作为根,除了根节点以外的点都可以选出,如果一个集合里有环,那么这个集合里所有节点都能选出
我们弄一个并查集
假设读入边(x,y)
如果find(x)==find(y),则find(x)可以被选出,p[find(x)]=1
如果find(x)!=find(y),合并它们,因为多加入了一条边,则权值小的那个根就也可以被选出啦!p[min(find(x),find(y))]=1
最后的结果的话,从1扫一遍,看看是不是都能表示,知道断在哪个地方,就输出那里
[BZOJ1854][Scoi2010]游戏(二分图匹配/并查集)
标签:
原文地址:http://www.cnblogs.com/wmrv587/p/4321068.html