Несвязное множество с реализованным только сжатием пути выглядит так:
// In cpp.
int Find(int x) { return f[x] == x ? x : f[x] = Find(f[x]); }
int Union(int a, int b) { f[Find(a)] = Find(b); }
Из вики Я узнал об этом, у него наихудшая сложность O(n+f*(1+logn))
. Так как мне достичь худшей сложности?