공부합시다
Union-find (disjoint set)
불타는강정
2020. 3. 15. 15:39
새로운 걸 배웠다
코드가 간단해서 너무 좋다
vector<int> parent;
void init(int n)
{
parent.resize(n + 1);
for (int i = 0; i <= n; i++)
parent[i] = i;
}
int find(int x)
{
if (x == parent[x])
return x;
return (parent[x] = find(parent[x]));
}
void merge(int x, int y)
{
x = find(x);
y = find(y);
parent[x] = y;
}