並查集特別好玩,已經不亦樂乎
並查集我一直沒敢做,就是那個經典的犯罪團夥我下午試試,做完了,就花了半個多小時,學習和使用!
先上題
題目描述 description
警察抓到了n個罪犯,警察根據經驗知道他們屬於不同的犯罪團夥,卻不能判斷有多少個團夥,但通過警察的審訊,知道其中的一些罪犯之間相互認識,已知同一犯罪團夥的成員之間直接或間接認識。有可能乙個犯罪團夥只有乙個人。請你根據已知罪犯之間的關係,確定犯罪團夥的數量。已知罪犯的編號從1至n。
輸入描述 input description
第一行:n(<=10000,罪犯數量),
第二行:m(<100000,關係數量)
輸出描述 output description
乙個整數,犯罪團夥的數量。
樣例輸入 sample input
111 2
4 53 4
1 35 6
7 10
5 10
8 9樣例輸出 sample output
3資料範圍及提示 data size & hint
共10個測試資料:
(1)5個資料n<=1000,m<=5000;
(2)5個資料:10000>n〉=9000, 100000>m〉=90000;
之後便是我的**
#include
#include
#include
#include
using
namespace
std;
const
int max = 500000;
int uset[max],r[max];
void makeset(int size)
void u(int x,int y)
}int main()
for(int i=0;i<=m;i++) if(uset[i]==i) k++;
cout
《好了結題報告結束,沒錯我就是這麼草率
並查集 帶權並查集 種類並查集 入門基礎題
include include include include include include include includetypedef long long ll using namespace std const int inf 0x3f3f3f3f const int maxn 2e5 10...
並查集簡單題
題目傳送 poj 1611 the suspects ac include include include include include include include include include include include include include include define l...
並查集 題1
問題描述 今天是ignatius的生日。他邀請很多朋友。現在是晚餐時間。ignatius想知道他至少需要多少張桌子。你必須注意到,並不是所有的朋友都認識對方,所有的朋友都不想留在陌生人身上。這個問題的乙個重要規則是,如果我告訴你a知道b,b知道c,這意味著a,b,c彼此認識,所以他們可以留在乙個表中...