-
Notifications
You must be signed in to change notification settings - Fork 0
UVa 1329
WinDaLex edited this page Aug 4, 2013
·
2 revisions
from Chapter 3. Data Structures :: Fundamental Data Structures :: Examples
有N个结点,编号从1到N,一开始每个结点都没有父结点。执行以下两种操作:
- I u v:把结点u的父结点设为v,距离为|u - v| % 1000,输入保证u没有父结点。
- E u:询问u结点到根节点的距离,输出结果。
本题在并查集的基础上多了一个要求:求结点到根节点的距离。只需要维护一个数组d,保存结点到其根节点的距离,然后在并查集find操作的时候,计算d的值即可。相比带权并查集的题目要求计算任意两个结点之间的距离,本题相对容易许多。
该算法的时间复杂度为 O(N) 。