• D 题


    题目大意:
    找朋友,最好把朋友最多的一堆的人数输出

    运用并查集,每次更新最大数即可;

    代码:

     1 #include <iostream>
     2 #include <cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 #define N 300010
     6 int fa[N],a,b;
     7 int k[N];
     8 int getHead(int x)
     9 {
    10     int a=x;
    11     while(x!=fa[x]) x=fa[x];
    12     fa[a]=x;
    13     return x;
    14 }
    15 void Union(int x,int y)
    16 {
    17     int fa_x=getHead(x);
    18     int fa_y=getHead(y);
    19     if(fa_x!=fa_y)
    20     {
    21         fa[fa_y]=fa_x;
    22         k[fa_x]+=k[fa_y];
    23     }
    24 }
    25 int main()
    26 {
    27     int T,n,m;
    28     cin>>T;
    29     while(T--){
    30 
    31         cin>>n>>m;
    32 
    33         for(int i=1;i<=n;i++) fa[i]=i;
    34         for(int i=1;i<=n;i++) k[i]=1;
    35         for(int i=0;i<m;i++){
    36             cin>>a>>b;
    37             Union(a,b);
    38         }
    39         int maxn=k[1];
    40         for(int i=2;i<=n;i++)
    41         {
    42             if(k[i]>maxn) maxn=k[i];
    43             //cout<<k[i]<<' ';
    44         }
    45 
    46         cout<<maxn<<endl;
    47     }
    48     return 0;
    49 }
  • 相关阅读:
    jQuery-1.样式篇---属性与样式
    jQuery-1.样式篇---选择器
    jQuery-1.样式篇
    随机数
    UIButton
    UILabel
    webView
    气泡聊天
    下拉和上拉刷新
    LimitDemo
  • 原文地址:https://www.cnblogs.com/CSU3901130321/p/3871994.html
Copyright © 2020-2023  润新知