#P903. 树的覆盖(二)

树的覆盖(二)

题目描述

给定一棵 nn 个点的树,每条边的长度均为 11 。每次你可以选择树上两个点,并将两点之间连一条边、以覆盖两点之间路径上原有的边。

请你求出最少需要选多少次使得树上每条边均被覆盖、且仅被覆盖一次,及满足当前需求的情况下,最长的一条连线的最短长度。

输入格式

输入共两行: 第一行,一个正整数 nn 第二行,n1n-1个整数,表示 p2,p3,,pnp_2,p_3,\dots,p_n,其中 pip_i 表示结点 ii 的父亲,保证 pi<ip_i<i

输出格式

输出共两行, 输出第一行:一个正整数表示最少需要的次数 输出第二行:一个正整数表示该情况下最长的一条连线的最短长度

5
1 2 2 2
2
2

样例解释 1

最少需要选择两次,第一次选择连接点1、3,第二次选择连接点4、5即可覆盖整棵树且每条边仅被覆盖一次,此时最长边的最短长度为2.

数据范围

  • 对于 30%30\% 的数据,满足 1n101 \leq n \leq 10
  • 对于 60%60\% 的数据,满足 1n1031 \leq n \leq 10^3
  • 对于 100%100\% 的数据,满足 1n5×1041 \leq n \leq 5\times 10^4