2 条题解

  • 0
    @ 2025-11-9 19:25:50

    并查集模板题,学完就会了并查集_OIWiki

    const int N=5e3+5;
    int fa[N];
    
    int find(int i){
        if(i!=fa[i]) fa[i]=find(fa[i]);
        return fa[i];
    }
    void join(int i,int j){
        int i_fa=find(i);
        int j_fa=find(j);
        fa[i_fa]=j_fa;
    }
    
    void solve(){
        for(int i=1;i<N;i++){
            fa[i]=i;
        }
        int n,m,p;cin>>n>>m>>p;
        for(int i=1;i<=m;i++){
            int x,y;cin>>x>>y;
            join(x,y);
        }
    
        for(int i=1;i<=p;i++){
            int x,y;cin>>x>>y;
            int fax = find(x);
            int fay = find(y);
            if(fax == fay) cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }
    }
    

    [2025 实验室三面] 来自理事长的委托!

    信息

    ID
    1123
    时间
    2000ms
    内存
    512MiB
    难度
    5
    标签
    递交数
    40
    已通过
    15
    上传者