2325: 肺炎大作战 摘要:看到要将一堆人联系起来,本蒟蒻第一时间想到的就是并查集,但是这里要我们输出的是最大群体。我们知道并查集路径压缩后每次查找这个群体的时候都会返回他们的“”祖宗“”,所以我们将群体的大小保存在“”祖宗“”…… 题解列表 2022年07月30日 0 点赞 0 评论 715 浏览 评分:0.0
肺炎大作战-超简单并查集做法 **这个题本质就是求连通块大小,我一开始想的是DFS染色,但是想了下N太大了这样做绝对会TLE,所以换了个思路,用并查集。但是普通并查集只能查找两个点是否连通,并不能查找连通块的大小,所以得加个数组记录当前连通块的大小...然后为了节约时间, 题解列表 2020年07月20日 0 点赞 0 评论 1304 浏览 评分:9.9
肺炎大作战-题解(C语言代码) /*并查集*/#include#defineSIZE10000001intpeople[SIZE]={0};//1千万个病人intnum[SIZE]={0};//根节点为i的人的个数intfind(int);voidjoin(int,int);intmain(){intn=0, 题解列表 2020年05月04日 0 点赞 0 评论 1246 浏览 评分:9.9
肺炎大作战-题解(C++代码) 一个简单的并查集,本题抽象为求并查集最大群体的问题,只需要在并查集的基础上开一个额外的计数数组,最后遍历一遍找出最大群体即可#include#include#includeusingnamespacestd;constintMAXN=100011;intN;intx, 题解列表 2020年04月30日 0 点赞 1 评论 879 浏览 评分:2.0
肺炎大作战-题解(C++代码)(离散化+并查集) ####题意转化给定无数个点n条边的无向连通图,求这个图的最大的连通分量的大小是多少。####Solution这个题的图里点会有无数个,但是关于所在连通分量大小大于等于2的只与给出的n条边有关。那么我们先对给出的点进行离散化即可。离散化之后,这个图的点最多只有2n个,然后开一个合适大小的并查集。 题解列表 2020年04月26日 0 点赞 1 评论 843 浏览 评分:9.9