CF1739D.Reset K Edges

普及+/提高

通过率:0%

时间限制:4.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a rooted tree, consisting of nn vertices. The vertices are numbered from 11 to nn, the root is the vertex 11.

You can perform the following operation at most kk times:

  • choose an edge (v,u)(v, u) of the tree such that vv is a parent of uu;
  • remove the edge (v,u)(v, u);
  • add an edge (1,u)(1, u) (i. e. make uu with its subtree a child of the root).

The height of a tree is the maximum depth of its vertices, and the depth of a vertex is the number of edges on the path from the root to it. For example, the depth of vertex 11 is 00, since it's the root, and the depth of all its children is 11.

What's the smallest height of the tree that can be achieved?

你将得到一棵有根树,包含 nn 个顶点。顶点编号为 11 到 nn,其中顶点 11 是树的根。

你最多可以执行以下操作 kk 次:

  • 选择树中的一条边 (v,u)(v, u),其中 vv 是 uu 的父节点;
  • 删除边 (v,u)(v, u);
  • 添加一条边 (1,u)(1, u)(即让 uu 及其子树成为根节点 11 的子树)。

树的高度定义为所有顶点深度的最大值,而一个顶点的深度定义为从根节点到该顶点的路径上的边数。例如,顶点 11 的深度为 00(因为它是根),其所有子节点的深度均为 11。

请问:通过上述操作,所能达到的树的最小高度是多少?

输入格式

The first line contains a single integer tt (1≤t≤1041 \le t \le 10^4) — the number of testcases.

The first line of each testcase contains two integers nn and kk (2≤n≤2⋅1052 \le n \le 2 \cdot 10^5; 0≤k≤n−10 \le k \le n - 1) — the number of vertices in the tree and the maximum number of operations you can perform.

The second line contains n−1n-1 integers p2,p3,…,pnp_2, p_3, \dots, p_n (1≤pi<i1 \le p_i \lt i) — the parent of the ii-th vertex. Vertex 11 is the root.

The sum of nn over all testcases doesn't exceed 2⋅1052 \cdot 10^5.

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)—— 测试用例的数量。

每个测试用例的第一行包含两个整数 nn 和 kk(2≤n≤2⋅1052 \le n \le 2 \cdot 10^5;0≤k≤n−10 \le k \le n - 1)—— 树中顶点的数量以及你可以执行的操作的最大次数。

每个测试用例的第二行包含 n−1n-1 个整数 p2,p3,…,pnp_2, p_3, \dots, p_n(1≤pi<i1 \le p_i \lt i)—— 第 ii 个顶点的父节点。顶点 11 是根节点。

所有测试用例的 nn 之和不超过 2⋅1052 \cdot 10^5。

输出格式

For each testcase, print a single integer — the smallest height of the tree that can achieved by performing at most kk operations.

对于每个测试用例,输出一个整数——在最多执行 kk 次操作的情况下,所能达到的树的最小高度。

输入输出样例

  • 输入#1

    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

    输出#1

    2
    1
    5
    3
    1

输入解题思路,AI测评打分。不知道怎么写?

首页