码迷,mamicode.com
首页 > 其他好文 > 详细

[BZOJ1854][Scoi2010]游戏(二分图匹配/并查集)

时间:2015-03-07 23:55:43      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

题目: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!