A. BOSS 树

    Type: Default File IO: boss 1000ms 256MiB

BOSS 树

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

A 是刺客兄弟会某个年代的传奇刺客,为了探寻 A 的传奇故事,A 的后代 a 借助 Animus 进入了 A 的记忆世界。已知 A 在他的时代刺杀了 nn 位圣殿骑士,但是 a 目前只知道 A 第一天刺杀了【圣殿骑士11】,而第 ii 位圣殿骑士的情报必须通过刺杀圣殿骑士 fif_i 来取得(保证 fii1f_i \leq i-1)。

a 的精力有限,一天最多只能在 Animus 刺杀 mm 位圣殿骑士,并且若 fj=if_j=i,无论 mm 是多少,a 都不可能在同一天刺杀 i,ji, j 因为 a 必须得离开 Animus 和战友们研究完 ii 的情报才能确定 jj 的位置。例如,圣殿骑士 33 满足 f3=1f_3 = 1,a 可以在第一天刺杀【圣殿骑士 11】,但是必须在当天结束 Animus,同战友们研究完 11 提供的情报后,才能锁定 33 的位置,在之后的任意一天都可以对 33 展开刺杀任务。

当代的圣殿骑士团依然在追杀刺客兄弟会,a 必须尽快探索完 A 的记忆帮助刺客兄弟会力挽狂澜,那么 a 最少需要多少天才能在 Animus 刺杀所有 nn 位圣殿骑士呢?

输入格式

第一行两个整数 $n, m\left(1 \leq n \leq 10^5, 1 \leq m \leq n\right)$。

第二行 n1n-1 个整数,分别表示 f2,f3,,fnf_2, f_3, \ldots, f_n

输出格式

第一行一个整数 ansans,表示 a 至少要花费的天数。

接下来一共 ansans 行,每行第一个整数 si(sim)s_i(s_i\leq m) 表示第 ii 天刺杀的圣殿骑士数量,接下来 sis_i 个整数表示当天刺杀的圣殿骑士们的编号。

5 2
1 1 1 2
3
1 1
2 2 3
2 4 5

附加样例

a.in

a.out

数据范围与提示

对于所有数据,1n105,1mn,1fi<i1\leq n\leq 10^5, 1\leq m\leq n, 1\leq f_i < i

子任务编号 分值 其他限制
1 24 n10n \leq 10
2 26 n16n \leq 16
3 12 m=1m=1
4 38

1028

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2025-10-28 18:00
End at
2025-10-28 20:00
Duration
2 hour(s)
Host
Partic.
16