QOJ.ac

QOJ

시간 제한: 8.0 s 메모리 제한: 256 MB 총점: 100 해킹 가능 ✓

#14130. 苹果树

통계

Aleksei 收到了一棵大小为 $n$ 的苹果树作为生日礼物。作为一名算法竞赛选手,他决定计算树上 $k$-苹果派($k$-apple pies)的数量。

一棵大小为 $n$ 的苹果树被定义为一棵以节点 1 为根的 $n$ 个节点的有根树,其中每个节点(除了没有父亲节点的根节点外)的直接子节点数量都严格少于其父亲节点的直接子节点数量。

一个 $k$-苹果派是一个二元组 $(v, S)$,其中:

  • $v \in V$ 是树的一个节点(称为中心),
  • $S \subseteq V \setminus \{v\}$ 是一个大小为 $k - 1$ 的节点集合,
  • 存在一个整数 $d$,使得对于每个 $u \in S$,都有 $\text{dist}(v, u) = d$。

距离 $\text{dist}(u, v)$ 定义为节点 $u$ 和 $v$ 之间简单路径上的边数。

换句话说,一个 $k$-苹果派由一个节点 $v$(中心)和另外 $k - 1$ 个与 $v$ 距离相同的节点组成。

你的任务是计算给定的树中 $k$-苹果派的数量。

由于答案可能很大,请将其对 $998\,244\,353$ 取模后输出。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$($1 \le t \le 10^4$)。接下来是测试用例的描述。

每个测试用例的第一行包含两个整数 $n$ 和 $k$($2 \le n \le 5 \cdot 10^5$,$1 \le k \le n$),分别表示苹果树的节点数和苹果派的大小。

下一行包含 $n - 1$ 个整数 $p_2, p_3, \dots, p_n$($1 \le p_i < i$),其中 $p_i$ 表示苹果树中节点 $i$ 的父亲节点。

所有测试用例的 $n$ 之和不超过 $5 \cdot 10^5$。

输出格式

对于每个测试用例,输出一个整数:$k$-苹果派的数量对 $998\,244\,353$ 取模后的结果。

样例

输入样例 1

3
3 3
1 1
5 2
1 1 2 3
6 3
1 1 1 2 2

输出样例 1

1
20
16

说明

在第一个测试用例中,唯一存在的派以节点 1 为中心,对应的集合为 $S = \{2, 3\}$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.