Logo Wy Online Judge

WyOJ

题目背景

水声细细的,山影静静的。

远处的山峰,颜色越来越浅,好像被天给收走了一样。

题目描述

给定一棵以 $1$ 为根,有 $n$ 个点的树。

现在,你需要从树上选出不相同的 $k$ 个点,令他们的集合为 $S$。

令集合 $T = \{\operatorname{lca}(x,y)|x,y \in S\}$。请注意,$x=y$ 是合法的。

你需要最大化集合 $T$ 的大小,并给出一组可行的构造方案。

输入格式

本题使用多组数据。

第一行一个正整数 $t$ 表示数据组数。

对于每组数据:

第一行两个整数 $n,k$,含义见题目描述。

第二行 $n-1$ 个整数 $f_2,f_3,f_4,\cdots,f_n$。其中 $f_i$ 表示点 $i$ 的父亲是 $f_i$。

输出格式

对于每组测试数据:

第一行一个整数表示集合 $T$ 的最大大小。

第二行输出 $k$ 个整数表示你选出的 $k$ 个点,若有多种方案,输出任意一个即可。

输入输出样例 #1

输入 #1

2
8 3
1 1 2 2 2 3 7
10 5
1 1 2 4 3 5 7 6 6

输出 #1

5
3 4 5
7
2 3 4 9 10

说明/提示

样例解释

第一组测试数据中,选出的点的 LCA 组成的集合是 $\{1,2,3,4,5\}$,可以证明无法组成大小更大的集合。


对于所有数据:

::cute-table{tuack}

Subtask $n\le$ 特殊性质 分数
1 $15$ 无 $7$
2 $2000$ ^ $18$
3 $10^5$ A $6$
4 ^ B $16$
5 ^ C $13$
6 ^ 无 $40$

特殊性质 A:保证 $f_i=i-1$。

特殊性质 B:保证 $k\ge$ 叶子节点数量。

特殊性质 C:保证每个节点的儿子节点数量不超过 $2$。

对于 $100\%$ 的数据,保证 $1 \le t \le 10,2 \le k \le n \le 10^5$。

题目信息
提交统计
  • 提交数 28
  • 通过数 2
  • 通过率 7.1%