luogu#P6478. [NOI Online #2 提高组] 游戏

    ID: 10492 远端评测题 1000ms 512MiB 尝试: 3 已通过: 0 难度: 6 上传者: 标签>动态规划dp数论数学2020NOI 系列树形 dp排列组合

[NOI Online #2 提高组] 游戏

题目背景

1s 512M

题目描述

小 A 和小 B 正在玩一个游戏:有一棵包含 n=2mn=2m 个点的有根树(点从 1n1\sim n 编号),它的根是 11 号点,初始时两人各拥有 mm 个点。游戏的每个回合两人都需要选出一个自己拥有且之前未被选过的点,若对手的点在自己的点的子树内,则该回合自己获胜;若自己的点在对方的点的子树内,该回合自己失败;其他情况视为平局。游戏共进行 mm 回合。

作为旁观者的你只想知道,在他们随机选点的情况下,第一次非平局回合出现时的回合数的期望值。

为了计算这个期望,你决定对于 k=0,1,2,,mk=0,1,2,\cdots,m,计算出非平局回合数为 kk 的情况数。两种情况不同当且仅当存在一个小 A 拥有的点 xx,小 B 在 xx 被小 A 选择的那个回合所选择的点不同。

由于情况总数可能很大,你只需要输出答案对 998244353998244353 取模后的结果。

输入格式

第一行一个正整偶数 nn 表示树的结点数。

第二行一个长度为 nn 的 01 字符串,第 ii 个字符为 00 表示 ii 号点被小 A 拥有,否则被小 B 拥有。保证 0011 的个数相同。

接下来 n1n-1 行每行两个正整数 uu, vv,表示树中的一条边。

输出格式

n2+1\frac{n}{2}+1 行每行一个整数,第 ii 行的整数表示 k=i1k=i-1 时的答案。

8
10010011
1 2
1 3
2 4
2 5
5 6
3 7
3 8
0
10
10
4
0

提示

测试点编号 n=n = 特殊性质
1 \sim 4 2020
5 \sim 8 5050
9 \sim 10 300300 树退化为一条链
11 \sim 12
13 \sim 14 500500
15 \sim 16 50005000 树退化为一条链
17 \sim 20