#P10717. 【MX-X1-T5】「KDOI-05」简单的树上问题

    ID: 10128 Type: RemoteJudge 2000ms 512MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>动态规划,dpO2优化状态压缩容斥快速沃尔什变换 FWT

【MX-X1-T5】「KDOI-05」简单的树上问题

题目描述

小 S 有一棵 nn 个点的树。每个点上有一个灯泡。

小 S 决定进行 kk 次闪灯操作。执行闪灯操作时,他会用电脑主机给每个灯泡发送一次闪灯操作。

然而,小 S 的灯泡是劣质品,只有一部分的灯泡可以收到小 S 的闪灯操作。具体地,第 jj 个点上的灯泡有 pi,jp_{i,j} 的概率收到小 S 的第 ii 次闪灯操作。

好在,小 S 的不同灯泡之间有信息传递功能。具体地,如果一个灯泡在两个收到信息的灯泡的树上最短路径上,这个灯泡也能执行闪灯操作(当然,收到信息的灯泡会执行闪灯操作)。

定义一个灯泡 ii 的美丽度为 ai,Sa_{i,S},其中 SS 为这个灯泡执行闪灯操作的操作集合。

定义整棵树的美丽度为每个灯泡美丽度的乘积。求整棵树美丽度的期望,对 998244353998244353 取模。

输入格式

第一行两个正整数 n,kn,k,表示树的点数与操作次数。

接下来 n1n-1 行每行两个正整数 u,vu,v,表示树上的一条边 (u,v)(u,v)

接下来 kk 行每行 nn 个非负整数,第 ii 行第 jj 个表示 pi,jp_{i,j}998244353998244353 取模后的值。

接下来 nn 行每行 2k2^k 个非负整数,第 ii 行第 (i=1k2i1[iS])+1(\sum_{i=1}^k2^{i-1}[i\in S])+1 个表示 ai,Sa_{i,S}。可以理解为 ai,ja_{i,j}j1j-1 的从低到高第 xx 个二进制位代表是否有 xx 操作。

输出格式

一行,一个非负整数,表示整棵树的美丽度的期望,对 998244353998244353 取模。

3 1
1 2
2 3
499122177 499122177 499122177
1 2
1 3
1 4
499122186
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
497209006

提示

【样例解释 #1】

收到信息灯泡集合 灯泡美丽度 树美丽度
\emptyset 1,1,11,1,1 11
{1}\{1\} 2,1,12,1,1 22
{2}\{2\} 1,3,11,3,1 33
{3}\{3\} 1,1,41,1,4 44
{1,2}\{1,2\} 2,3,12,3,1 66
{1,3}\{1,3\} 2,3,42,3,4 2424
{2,3}\{2,3\} 1,3,41,3,4 1212
{1,2,3}\{1,2,3\} 2,3,42,3,4 2424

故美丽度的期望是 1+2+3+4+6+24+12+248=192\frac{1+2+3+4+6+24+12+24}{8}=\frac{19}{2},对 998244353998244353 取模后为 499122186499122186

【数据范围】

本题采用捆绑测试。

子任务编号 分值 nn\leq kk\leq 特殊性质
11 55 2020 11
22 1010 100100 22 ii 条边连接 iii+1i+1 号节点
33 55 88 pi,j=0p_{i,j}=0pi,j=1p_{i,j}=1
44 ai,S=[S={1,2,,k}]a_{i,S}=[S=\{1,2,\dots,k\}]
55 2020 ii 条边连接 iii+1i+1 号节点
66 1515 66
77 77
88 1010 5050 88
99 1515 100100

对于 100%100\% 的数据:1n1001\leq n\leq1001k81\leq k\leq81u,vn1\leq u,v\leq n,保证给出数据为一棵树,保证其他输入数据均为 [0,998244353)[0,998244353) 中的整数。