#P3080. 「MCOI-08」Photoelectric Effect

「MCOI-08」Photoelectric Effect

题目描述

有一棵 nn1n1051\le n\le 10^5)个点的树以及 kk2k52\le k\le 5)个颜色,根节点为 11。同时,给定一个颜色合并函数 aba\otimes b,满足当 1a,bk1\le a,b\le k,有 1abk1\le a\otimes b\le k

请问有多少个方案对所有点染色,使得当点对 u,vu,v 之间没有祖先关系,有:

  • uuvv 最近公共祖先的颜色为点 uu 的颜色和点 vv 的颜色之并。

答案对 109+710^9+7 取模。

输入格式

本题有多组数据,第一行一个正整数 tt1t1031\le t\le 10^3),为数据组数。接下来 tt 组数据,其中对于每一组数据:

第一行两个正整数 n,kn,k

接下来 kk 行,每行 kk 个正整数。第 ii 行第 jj 个数为 iji\otimes j 的值。

接下来 n1n-1 个正整数 f2,f3,,fnf_2,f_3,\dots,f_n,其中 fif_iii 的父亲节点。

输出格式

对于每一组数据:

输出一个整数,表示答案。

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

提示

样例 1 解释

树的形态如下:

wiw_i 为第 ii 个点的点权,则有如下 44 种分配方式:

  • wi={1,1,1,1,1}w_i=\{1,1,1,1,1\}
  • wi={2,2,2,1,1}w_i=\{2,2,2,1,1\}
  • wi={2,1,1,2,2}w_i=\{2,1,1,2,2\}
  • wi={1,2,2,2,2}w_i=\{1,2,2,2,2\}

数据规模与约定

本题采用捆绑测试。

对于 100%100\% 的数据,1n,n1051\le n,\sum n\le10^52k52\le k\le 51fi<i1\le f_i<i

对于 100%100\% 的数据,1t10001\le t\le 1000

  • Subtask 1(5 pts):n5n\le5
  • Subtask 2(11 pts):树上任何节点孩子个数至多为 22
  • Subtask 3(23 pts):树上任何节点孩子个数至多为 33
  • Subtask 4(13 pts):k=2k=2
  • Subtask 5(17 pts):k3k\le3
  • Subtask 6(31 pts):无特殊限制。