Friend解題報告 並查集練習

2021-07-09 22:57:37 字數 414 閱讀 6750

這題並不是很難,僅作為並查集的乙個入門級練習,所要掌握的知識也確實很基礎。實際上,這道題就是問在一定的合併操作後,問最大的集合有多少人。但是同時也要記住,相同的集合不能合併!

#include 

using namespace std;

struct node

;node point[1000001];

int find_root(int t)

//並查集的路徑優化

while(point[t-1].link!=root)

return root;

}inline void union_set(int f,int s)

int main()

}printf("%d",_max);

return 0;

}

並查集練習

題目描述 假如已知有n個人和m對好友關係 存於數字r 如果兩個人是直接或間接的好友 好友的好友的好友 則認為他們屬於同乙個朋友圈,請寫程式求出這n個人裡一共有多少個朋友圈。假如 n 5 m 3 r 表示有5個人,1和2是好友,2和3是好友,4和5是好友,則1 2 3屬於乙個朋友圈,4 5屬於另乙個朋...

並查集練習

集合的合併與維護和食物鏈那道題一樣。不過多了個裁判。注意到n 500,所以可以列舉裁判,然後判斷是否出現了矛盾。忽略裁判 如果有矛盾,則這個人不是裁判。唯一有點難度的是輸出第幾行判斷出的裁判。原先以為是最後出現裁判的那一行。後來發現應當時列舉其他人時候首次出現矛盾的最大值。仔細想想 這樣這道題就解決...

poj p1182解題報告 帶權並查集)

是中文題意 我就不贅述了 源 在下面 壓 壓得很厲害,不要吐槽 13778373 nailer 1182 accepted 568k 250ms c 798b 2015 01 13 17 50 18 通過總結網上的大神的解釋 我總結了一篇筆記 以食物鏈為例,花了兩節自習課,真是呵呵了 我們用d 1 ...