并查集
娟哥
这个作者很懒,什么都没留下…
展开
-
vijos1034
题目大意: 给定关于n个人的m条认识关系,做p次询问,问x,y是否认识(认识关系具有传递性)? 解题思路: 并查集,初始化时,将每个节点都指向本身,将具有关系的节点的根节点合并,最后查看x和y的根节点是否相同,相同yes,不相同no。 c代码: #include #include #define max 5010 int pre[max]; int fi原创 2013-11-06 18:40:10 · 469 阅读 · 0 评论 -
poj1611
题目大意: 给出n个同学的m种关系,将有关系的同学连在一起,最后输出0所在的组有多少个成员。 解题思路: 并查集,输入时将各个节点都指向自身,将有关系的根节点不同的节点合并,找出根节点和0的根节点相同的节点的个数。 c代码: #include #include #define max 30010 int pre[max]; int find原创 2013-11-06 18:54:20 · 415 阅读 · 0 评论 -
poj2524
题目大意: 问一个大学里学生的宗教,通过问一个学生可以知道另一个学生是不是跟他信仰同样的宗教。问学校里最多可能多少个宗教。也就是给定一个图的点数和相应的边,问有多少个连通分量。 解题思路: 用并查集,首先,使每个节点的根节点都指向自己,将根节点不相同的节点合并。要注意题目要求的输出格式。 c代码: #include #include #define max 500原创 2013-11-06 18:29:31 · 403 阅读 · 0 评论