小 A 认为,树是最优雅的数据结构。对于任意一棵树,他还为其定义了优雅的结点序列。
假设树上共有 n 个结点,结点编号 1 ~ n,其中结点 1 为根结点。那么长度 m
的结点序列 a1, a2, …, am 是优雅的,
当且仅当:
- 序列中的结点互不相同,即 ∀ 1 ≤ i < j ≤ m, ai ≠ aj;
- 序列中任意相邻的前后两个结点必定满足祖孙关系,即 i∈[1,m),ai是ai+1的祖先结点,或者ai+1是 ai 的祖先。
显然对于任意一棵有根树,优雅的结点序列可能是多样的。现在,请你帮助小 A
找到其中最长的优雅序列。
n≤5×105
请问这道题怎么做?