並查集水題

2021-08-17 23:05:13 字數 586 閱讀 2914

已知n個人序號為1-n,分別屬於若干個團隊,有m條線索表明某兩個人屬於同乙個團隊,那麼這n個人一共有幾個團隊。

輸入第一行為兩個數n和m,第2到m+1行為m條線索:每行兩個數a,b表示序號為a和為b的兩個人在同一隊伍中。

輸出為乙個數,表示隊伍個數。

示例資料:

輸入:10 9

1 23 4

5 24 6

2 68 7

9 71 6

2 4輸出:3

**如下:

#include #include using namespace std;

const int maxn=1000;

int f[maxn];

void init(int n)

}int getf(int x)

void merge(int a,int b)

}int main()

int sum=0; //sum用來記錄隊長個數,即隊伍個數

for(int i=0;i} printf("%d",sum);

return 0;

}

並查集水題

給定一棵樹,問以其為唯一最小生成樹的完全圖的邊權和最大為多少。並查集維護大小,按 kr usca l kru scal 的方法,每次貪心連邊。見下 include using namespace std define r register define maxn 20005 define ll lo...

並查集水題 POJ 1611

題意 有n n 30000 個學生,每個學生屬於乙個團體 可以屬於多個團體 共有m 500 個團體,如果乙個學生是嫌疑人,則他所在的團體的所有人都是嫌疑人,初始時0號學生是嫌疑人。問總共有多少個嫌疑人。很明顯同乙個團體的學生可以連一條邊,即求0號點所在的連通塊有多少個點,用並查集可以很方便的辦到,如...

HDU1863(Kruskal 並查集水題)

省 暢通工程 的目標是使全省任何兩個村莊間都可以實現公路交通 但不一定有直接的公路相連,只要能間接通過公路可達即可 經過調查評估,得到的統計表中列出了有可能建設公路的若干條道路的成本。現請你編寫程式,計算出全省暢通需要的最低成本。input測試輸入包含若干測試用例。每個測試用例的第1行給出評估的道路...