![](https://img-blog.csdnimg.cn/938fdee7cd274aa1b4413e1303b7d378.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
并查集
文章平均质量分 51
分享关于并查集的题目和算法讲解
MangataTS
一个爱折腾的Coder
展开
-
L2-010 排座位(并查集)
题目链接 https://pintia.cn/problem-sets/994805046380707840/problems/994805066135879680 思路 对于朋友和朋友之间的关系我们通过并查集维护即可,然后对于敌人之间的关系,我们只需要用一个二维数组或者使用map就能维护,因为只有直接敌对关系才是敌人,然后对于每一次询问我们就根据他们俩的朋友关系、敌对关系分类讨论即可 代码 #include<bits/stdc++.h> using namespace std; #define原创 2022-03-28 21:03:59 · 432 阅读 · 0 评论 -
L2-007 家庭房产(并查集)
题目链接 https://pintia.cn/problem-sets/994805046380707840/problems/994805068539215872 思路 我们能获取 N 条信息,对于每一条消息我们能知道当前这个人的编号id 以及父亲的编号 faa 母亲的编号 ma 并且知道 k 个儿子的编号,然后我们又知道这个人的房子的总套数以及房子的总面积 ,这其实是一个很经典的数据结构-》 并查集,我们维护的每一个集合就是一个家族,我们讲当前读入的这个人的父亲和母亲合并在一个集合里面,再将他和他的儿原创 2022-03-26 21:37:26 · 1389 阅读 · 0 评论 -
无线网络(预处理+并查集)
题目链接 https://www.acwing.com/problem/content/4269/ 思路 因为n的范围为1k,那么我们可以提前将每一个点在d范围内的所有点存储起来,这个也就是一条还不清楚能否连接的边,我们再用一个vis[i]vis[i]vis[i]记录一下当前第i台电脑是否开机。关于这些电脑之间的关系我们可以通过并查集维护在同一个集合中的电脑,我们现在有两种操作: 'O’操作:将p电脑开机 'S’操作:查询p和q是否在一个集合中 那么前面提到了我们通过并查集维护这个数据关系,对于第一种操原创 2022-02-14 14:40:23 · 162 阅读 · 0 评论