hdu1829(種類並查集)

2021-06-21 17:04:02 字數 946 閱讀 2660

題意:給你n個蟲,輸入m行a,b,表示a和b是異性,要你判斷是否有同性戀;

這是一道種類並查集題,對於乙個並查集新手的我還是覺得有點難度的。

種類並查集的關鍵:當前節點到他的根節點的距離

在這道題中,如果到根節點的距離是奇數說明是異性,偶數說明是同性,即同性戀,

利用rank陣列記錄到根節點的距離,比如rand[x] 表示x 到 f[x] 的  距離&1

下面是**:

#include#include#include#include#include#include#include#include#include#include#include#include#define n 2005

#define eps 1e-9

#define pi acos(-1.0)

#define p system("pause")

using namespace std;

int f[n],rank[n];

int flag;

/*int find(int x)

*/int find(int x)

void union(int a,int b)

else

}int main()

int a,b;

for(i = 0; i < m; i++)

printf("scenario #%d:\n",z++);

if(flag) printf("suspicious bugs found!\n");

else printf("no suspicious bugs found!\n");

printf("\n");

}// p;

return 0;

}

POJ1182食物鏈,HDU1829(種類並查集)

食物鏈 time limit 1000ms memory limit 10000k total submissions 55882 accepted 16377 description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a吃b,b吃c,c吃a。現有n個動物,以1 n...

POJ1182食物鏈,HDU1829(種類並查集)

食物鏈 time limit 1000ms memory limit 10000k total submissions 55882 accepted 16377 description 動物王國中有三類動物a,b,c,這三類動物的食物鏈構成了有趣的環形。a b吃c,c吃a。現有n個動物,以1 n編號...

HDU3038 種類並查集

題意 給出m組區間 a,b 以及其區間的和,問有矛盾的有幾組 思路 種類並查集。主要是幾個關係 同類元素的關係,父親與兒子的關係,不同類元素的關係 我們可以類似看作乙個字首和,sum x 是x到根這段路徑上的和,那麼根一定是座標越小的,那麼如果說對於同類 同乙個集合 的判斷就是sum b sum a...