比基础的并查集有些进步。
在下面这个链接中有详细解释:
http://blog.csdn.net/ditian1027/article/details/20804911
对于每两个动物的关系,都是先推与最终的关系,在逆推与另一个的关系;
num中存的都是与最终节点的关系;
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
const int maxn=50000+10;
struct node{
int q,num;
}s[maxn];
void qq(int n)
{
for(int i=1;i<=n;i++)
{
s[i].q=i;
s[i].num=0;
}
}
int find(int y)
{
if(......
阅读全文