【MX-X1-T5】「KDOI-05」简单的树上问题
题目描述
小 S 有一棵 $n$ 个点的树。每个点上有一个灯泡。
小 S 决定进行 $k$ 次闪灯操作。执行闪灯操作时,他会用电脑主机给每个灯泡发送一次闪灯操作。
然而,小 S 的灯泡是劣质品,只有一部分的灯泡可以收到小 S 的闪灯操作。具体地,第 $j$ 个点上的灯泡有 $p_{i,j}$ 的概率收到小 S 的第 $i$ 次闪灯操作。
好在,小 S 的不同灯泡之间有信息传递功能。具体地,如果一个灯泡在两个收到信息的灯泡的树上最短路径上,这个灯泡也能执行闪灯操作(当然,收到信息的灯泡会执行闪灯操作)。
定义一个灯泡 $i$ 的美丽度为 $a_{i,S}$,其中 $S$ 为这个灯泡执行闪灯操作的操作集合。
定义整棵树的美丽度为每个灯泡美丽度的乘积。求整棵树美丽度的期望,对 $998244353$ 取模。
输入输出格式
输入格式
第一行两个正整数 $n,k$,表示树的点数与操作次数。
接下来 $n-1$ 行每行两个正整数 $u,v$,表示树上的一条边 $(u,v)$。
接下来 $k$ 行每行 $n$ 个非负整数,第 $i$ 行第 $j$ 个表示 $p_{i,j}$ 对 $998244353$ 取模后的值。
接下来 $n$ 行每行 $2^k$ 个非负整数,第 $i$ 行第 $(\sum_{i=1}^k2^{i-1}[i\in S])+1$ 个表示 $a_{i,S}$。可以理解为 $a_{i,j}$ 中 $j-1$ 的从低到高第 $x$ 个二进制位代表是否有 $x$ 操作。
输出格式
一行,一个非负整数,表示整棵树的美丽度的期望,对 $998244353$ 取模。
输入输出样例
输入样例 #1
3 1
1 2
2 3
499122177 499122177 499122177
1 2
1 3
1 4
输出样例 #1
499122186
输入样例 #2
10 2
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
1 1 4 5
1 4 1 9
1 9 8 1
0 1 1 4
5 1 4 1
9 1 9 8
1 0 9 9
8 2 4 4
3 5 3 1
2 3 4 5
输出样例 #2
497209006
说明
**【样例解释 \#1】**
| 收到信息灯泡集合 | 灯泡美丽度 | 树美丽度 |
|:--:|:--:|:--:|
| $\emptyset$ | $1,1,1$ | $1$ |
| $\{1\}$ | $2,1,1$ | $2$ |
| $\{2\}$ | $1,3,1$ | $3$ |
| $\{3\}$ | $1,1,4$ | $4$ |
| $\{1,2\}$ | $2,3,1$ | $6$ |
| $\{1,3\}$ | $2,3,4$ | $24$ |
| $\{2,3\}$ | $1,3,4$ | $12$ |
| $\{1,2,3\}$ | $2,3,4$ | $24$ |
故美丽度的期望是 $\frac{1+2+3+4+6+24+12+24}{8}=\frac{19}{2}$,对 $998244353$ 取模后为 $499122186$。
**【数据范围】**
**本题采用捆绑测试。**
| 子任务编号 | 分值 | $n\leq$ | $k\leq$ | 特殊性质 |
|:--:|:--:|:--:|:--:|:--:|
| $1$ | $5$ | $20$ | $1$ | 无 |
| $2$ | $10$ | $100$ | $2$ | 第 $i$ 条边连接 $i$ 与 $i+1$ 号节点 |
| $3$ | $5$ | $100$ | $8$ | $p_{i,j}=0$ 或 $p_{i,j}=1$ |
| $4$ | $5$ | $100$ | $8$ | $a_{i,S}=[S=\{1,2,\dots,k\}]$ |
| $5$ | $20$ | $100$ | $8$ | 第 $i$ 条边连接 $i$ 与 $i+1$ 号节点 |
| $6$ | $15$ | $100$ | $6$ | 无 |
| $7$ | $15$ | $100$ | $7$ | 无 |
| $8$ | $10$ | $50$ | $8$ | 无 |
| $9$ | $15$ | $100$ | $8$ | 无 |
对于 $100\%$ 的数据:$1\leq n\leq100$,$1\leq k\leq8$,$1\leq u,v\leq n$,保证给出数据为一棵树,保证其他输入数据均为 $[0,998244353)$ 中的整数。