題意:給你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...