问题 5737 --最小树高

5737: 最小树高

时间限制: 4 Sec  内存限制: 256 MB
提交: 6  解决: 5
[提交][状态][命题人:]

题目描述

给定一棵包含 n 个节点的有根树,顶点编号从 1 到 n ,根顶点为 1 。

定义“重定向”操作如下:
1. 在树中选择一条边 (v, u) ,其中 v 是 u 的父节点;
2. 删除边 (v, u) ;
3. 添加边 (1,u) 。

树的高度是节点的最大深度,节点的深度是从根结点到顶点的路径上的边数。
求最多 k 次“重定向”操作后,树的最小高度是多少?

输入

第一行包含一个整数 t  (1≤t≤10^4) ,表示测试数据的组数。
每组测试数据的第一行包含两个整数 n 和 k (2≤n≤2·10^5 ; 0≤k≤n-1) ,表示树中的节点数和最大“重定向”操作数。
每组测试数据的第二行包含 n-1个整数 p[2],p[3],...,p[n] (1≤p[i]<i) ,其中 p[i] 表示第 i 个节点的父节点编号。
保证所有测试数据的 n 之和不超过 2·10^5 。

输出

对于每组测试数据,输出一行包含一个整数,表示通过执行最多 k 的操作可以获得的树的最小高度。
样例输入
Copy
5
5 1
1 1 2 2
5 2
1 1 2 2
6 0
1 2 3 4 5
6 1
1 2 3 4 5
4 3
1 1 1
样例输出
Copy
2
1
5
3
1

提示

来源

[提交][状态]