首页 > 其他分享 >The Suspects POJ - 1611 (并查集)

The Suspects POJ - 1611 (并查集)

时间:2023-03-31 09:01:14浏览次数:33  
标签:Suspects fu int 查集 疑似 POJ ans find

题意:n个学生分属m个团体,一个学生可以属于多个团体。一个学生疑似患病则它所属的整个团体都疑似患病。已知0号学生疑似患病,以及每个团体都由哪些学生构成,求一共多少个学生疑似患病。

分析:维护一个并查集,查询与0在同一集合的元素数量。

#include <iostream>
#include<cstdio>
using namespace std;
typedef long long LL;
const int N = 3010, INF = 0x3f3f3f3f;
int n, m, k;

int f[N];
int find(int u) {
    return u == f[u] ? u : f[u] = find(f[u]);
}
int main() {
    while (~scanf("%d%d", &n, &m) && (n + m != 0)) {
        for (int i = 0; i <= n; i++) f[i] = i;
        for (int i = 1; i <= m; i++) {
            scanf("%d", &k);
            for (int j = 1, u, v; j <= k; j++) {
                scanf("%d", &v);
                if (j > 1) {
                    int fu = find(u), fv = find(v);
                    if (fu != fv) f[fv] = fu;
                }
                u = v;
            }
        }
        int ans = 0, rt=find(0);
        for (int i = 0; i < n; i++)
            if (find(i) == rt) ans++;
        printf("%d\n", ans);
    }
    return 0;
}

标签:Suspects,fu,int,查集,疑似,POJ,ans,find
From: https://www.cnblogs.com/hellohebin/p/17272283.html

相关文章

  • POJ--3187 Backward Digit Sums(暴搜/减枝)
    记录5:302023-3-25http://poj.org/problem?id=3178reference:《挑战程序设计竞赛(第2版)》第二章练习题索引p135DescriptionFJandhiscowsenjoyplayingamenta......
  • POJ-2559-Largest Rectangle in a Histogram-DP或者单调栈
    ProblemE LargestRectangleinaHistogram TimeLimit:2000/1000MS(Java/Others)    MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):2498......
  • 天梯赛练习题 L3-003 社交集群 (简单并查集)
    https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805053141925888题目大意:当你在社交网络平台注册时,一般总是被要求填写你的个人兴趣爱好,以便找到......
  • 并查集
    并查集主要包括初始化、寻根以及合并三个操作。例如a、b、c、d、e,初始化他们的祖先为本身。寻根操作:intfind_root(intx){//非路径压缩returnx==s[x]?x:finde_r......
  • How Many Tables HDU - 1213(并查集/连通块数量)
    题意:朋友的朋友是朋友如果A认识B,B认识C,那么ABC三个人就可以坐在同一张桌子上但如果A认识B,C认识D,那我们就默认AB和CD不认识,需要准备两张桌子现在我们需要你计算出,我们一......
  • 2023-03-23_并查集
    并查集两个点之间在树或图中是否连通的问题。1什么是并查集?连接问题网络中节点间的连接状态数学中的集合类实现连接问题与路径问题:解决路径问题便一定可以解......
  • POJ - 3321 Apple Tree
    原题链接思路答案不好直接维护,所以,我们可以采用DFS序来解决这一问题。设\(l_u\)是以\(u\)为根的子树中最小的时间戳,\(r_u\)是以\(u\)为根的子树中最大的时间戳......
  • 并查集模板
    并查集(Union(并),Find(查),Set(集))一般用树的形式保存集合,但是是用数组模拟的树对于并查集树上的所有点,只有根结点是p[x]=x的,其他的p[x]都是父结点那么就可以通过whil......
  • Can not set java.lang.String field com.jsedc.log.pojo.entity.voSyslogV0.happenT
    未加泛型约束的result,其List中的实体对象会被序列化为LinkedHashMap,实际结构为Result<List<LinkedHashMap<String,String>>>导出excel时对象赋值失败......
  • [POJ] 2251地牢大师
    来源:《信息学奥赛一本通》,POJ2251算法标签BFS题目描述你现在被困在一个三维地牢中,需要找到最快脱离的出路!地牢由若干个单位立方体组成,其中部分不含岩石障碍可以直接通......