class UnionFound { public: vector<int> v; int cnt; UnionFound(int n) { v = vector<int>(n); for (int i = 0; i < n; i++) v[i] = i; cnt = n; } int findParent(int i) { if (v[i] == i) return i; v[i] = findParent(v[i]); return v[i]; } void Union(int p, int c) { int pp = findParent(p); int cp = findParent(c); if (pp != cp) { v[cp] = pp; cnt--; } } };
Union found
猜你喜欢
转载自www.cnblogs.com/JTechRoad/p/8993630.html
今日推荐
周排行