union-find set update