並查集經典入門題
雖然簡單,但是我覺得我還是學到了很多。
首先,加深了我對並查集的理解。
每個集合合併的時候,總是把第乙個值作為父節點是會產生錯誤的。
例如:7 4
3 1 2 3
2 4 2
3 5 6 7
1 6
#include
#include
#include
using namespace std;
const
int maxn=
30005
;int cnt[maxn]
;int father[maxn]
;int arr[maxn]
;int
find
(int x)
}void
join
(int x,
int y)
intmain()
for(
int i=
0;iint ans=0;
memset
(cnt,0,
sizeof
(cnt));
for(
int i=
1;i<=n;i++
)printf
("%d\n"
,ans)
;return0;
}
7 25 朋友圈(25 分)
7 25 朋友圈 25 分 某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。...
7 25 朋友圈 (25 分)
某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入的第一行包含兩個正整數n...
7 25 朋友圈 25 分
某學校有n個學生,形成m個俱樂部。每個俱樂部裡的學生有著一定相似的興趣愛好,形成乙個朋友圈。乙個學生可以同時屬於若干個不同的俱樂部。根據 我的朋友的朋友也是我的朋友 這個推論可以得出,如果a和b是朋友,且b和c是朋友,則a和c也是朋友。請編寫程式計算最大朋友圈中有多少人。輸入格式 輸入的第一行包含兩...