Advertisement
Guest User

Untitled

a guest
Jul 16th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.33 KB | None | 0 0
  1. int sz[N];
  2. int parent[N];
  3. int find_set(int v) {
  4.     if (parent[v] == v) return v;
  5.     return parent[v] = find_set(v);
  6. }
  7.  
  8. int make_set(int v) {
  9.     parent[v] = v;
  10.     sz[v] = 1;
  11. }
  12.  
  13. int union_sets(int u, int v) {
  14.     v = find_set(v);
  15.     u = find_set(u);
  16.     if (u == v) return;
  17.     if (sz[u] < sz[v]) swap(u, v);
  18.     parent[v] = u;
  19.     sz[u] += sz[v];
  20. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement