标签:
并查集是一种数据结构,便于查找同一特性的元素,因而是我们需要学习的
const int maxn=10001; int father[maxn]; void dateins()//初始化数组 { for(i=1;i<=n;i++) father[i]=i; } int _findx(int x)//查找所在的数,赋值 { if(father[x]!=x) father[x]=_find(father[x]) return father[x]; } void datecin() {
int m; scanf("%d",&m); for(int i=1;i<=m;i++) { scanf("%d %d",&a,&b); a=_find(a); b=_find(b); father[a]=b; } } void datecal(int a,int b) { a=_find(a); b=_find(b); if(a==b) { printf("Yes\n"); } else { printf("No\n"); } }
以上为并查集的内容,其实就是建立数组指向某个值,最后将其统一到一个点,从而统一到一个集合,我们可以根据这个点判断它是否在这个集合里
标签:
原文地址:http://www.cnblogs.com/byzsxloli/p/5404367.html