A93163.「NOI2023」桂花树

NOI/NOI+/CTSC

NOI

通过率:0%

时间限制:0.50s

内存限制:512MB

题目描述

小 B 八年前看到的桂花树是一棵 nn 个节点的树 TT保证 TT 的非根结点的父亲的编号小于自己。给定整数 kk,称一棵 (n+m)(n+m) 个节点的有根树 TT^{\prime} 是繁荣的,当且仅当以下所有条件满足:

  1. 对于任意满足 1i,jn1 \le i,j \le n(i,j)(i,j),在树 TT 和树 TT^{\prime} 上,节点 iijj 的最近公共祖先编号相同。
  2. 对于任意满足 1i,jn+m1 \le i,j \le n + m(i,j)(i,j),在树 TT^{\prime} 上,节点 iijj 的最近公共祖先编号不超过 max(i,j)+k\max(i,j)+k

注意题目中所有树的节点均从 11 开始编号,且根结点编号为 11TT^{\prime} 不需要满足非根结点的父亲编号小于自己。

小 B 想知道有多少棵 (n+m)(n+m) 个节点的树是繁荣的,认为两棵树不同当且仅当存在某一个节点在两棵树上的父亲不同。你只输出方案数在模 (109+7)(10^9+7) 意义下的值。

输入格式

从文件 tree.in 中读入数据。

本题有多组测试数据。

输入的第一行包含两个整数 c,tc,t,分别表示测试点编号和测试数据组数。c=0c=0 表示该测试点为样例。

接下来依次输入每组测试数据,对于每组测试数据:

输入的第一行包含三个整数 n,m,kn,m,k

输入的第二行包含 n1n-1 个整数 f2,f2,,fnf_2,f_2,\dots,f_n,其中 fif_i 表示 TT 中节点 ii 的父亲节点编号。

输出格式

输出到文件 tree.out 中。

对于每组测试数据输出一行一个整数,表示繁荣的树的数量在模 (109+7)(10^9+7) 意义下的答案。

输入输出样例

  • 输入#1

    0 3
    1 2 1
    
    2 2 1
    1
    2 2 0
    1
    

    输出#1

    3
    16
    15
    

说明/提示

对于所有测试数据保证:1t151 \le t \le 151n3×1041 \le n \le 3 \times 10^40m30000 \le m \le 30000k100 \le k \le 101fii11 \le f_i \le i - 1

测试点编号 nn \le $m \le $ $k \le $
1,21,2 $ 4$ 44 1010
33 3×1043\times 10^4 00 1010
44 10210^2 11 1010
55 3×1043 \times 10^4 11 1010
66 10210^2 22 1010
77 3×1043\times 10^4 22 1010
8,98,9 11 10210^2 00
1010 11 3,0003,000 00
1111 11 10210^2 1010
1212 11 3,0003,000 1010
13,1413,14 $ 10^2$ 10210^2 00
15,1615,16 3×1043\times 10^4 3,0003,000 00
17,1817,18 $ 10^2$ 10210^2 1010
19,2019,20 3×1043\times 10^4 3,0003,000 1010
首页