2019沈阳网络赛B 并查集+dfs

补题的时候,忘记将怪兽节点的size值变为0。

#include
using namespace std;
int fa[200005],siz[200005];
int getfa(int x)
{
    int fx=fa[x];
    if(fx!=x)
    {
        fa[x]=getfa(fx);
    }
    return fa[x];
}
void join(int x,int y)
{
    int fx=getfa(x);
    int fy=getfa(y);
    if(fx!=fy)
    {
        fa[fx]=fy;
        siz[fy]+=siz[fx];
    }
}
struct node{
    int x,y;
}a[200005];
int b[200005];
int ans=0;
vectorv[200005];
vectorg;
int vis[200005];
void dfs(int x)
{
    //ans++;
    siz[x]=0;
    vis[x]=1;
    for(int i=0;i

 

你可能感兴趣的:(并查集)