文章分类 - 并查集算法模板
摘要:#include <iostream>using namespace std;const int N = 1000;int p[N],rank[N];void init(int n){//把每个点所在集合初始化为其自身for(int i=1;i<=n;i++){p[i]=i;rank[i]=0;}}int find(int i){//查找元素所在的集合,即根节点if(p[i]!=i)p[i]=find(p[i]);return p[i];}void merge(int i, int j){//将两个元素所在的集合合并为一个集合。i=find(i);j=find(j);if(i
阅读全文

浙公网安备 33010602011771号