#59755. 宝箱
宝箱
暂无测试数据。
lgswdn 有一棵 $n$ 个节点的树(即有 $n$ 个节点,编号为 $1,2,\cdots,n$,有 $n-1$ 条边的无向连通图)。树的每个节点上都有一个宝箱。lgswdn 准备大动干戈,用一系列化学方法打开这些宝箱。
但是在打开之前,lgswdn 发现了一个问题:由于这棵树边的材质比较脆弱,若两个节点被一条边直接连接,为了确保安全,这两个节点上的宝箱最多可以打开一个,否则就会出现坍塌的危险。
好在化学巨佬 OH 给了 lgswdn 一条特殊材质的边。lgswdn 可以选定树上的一条边并将这条边的材质替换成特殊材质的边,这条边两端节点上的宝箱都可以打开。为了不浪费这条特殊的边,被这条特殊的边直接相连的两个节点上的宝箱最少打开一个。
所以一种安全的打开方法将会满足:
- 普通边的两个节点上的宝箱最多可以打开一个;
- 特殊边的两个节点上的宝箱最少需要打开一个。
lgswdn 想知道,对于每一条边,若选定这条边替换成 OH 送给他的特殊材质的边,在确保安全和不浪费这条边的情况下,有多少种打开方法是可行的。
输入格式
第一行一个正整数 $n$,表示树上节点的个数。
接下来 $n-1$ 行,第 $i$ 行有每行两个以空格隔开的正整数 $u,v$,代表第 $i$ 条边连接着点 $u$ 和点 $v$。
输出格式
输出共 $n-1$ 行,每行一个数。第 $i$ 个数代表选择第 $i$ 条边后的安全打开的方案数量。由于数量可能很大,请输出结果对 $998244353$ 取模的余数。
数据范围
数据点编号 | 额外条件 |
---|---|
1 2 3 | $n\le 11$ |
4 5 6 | $n\le 1000$ |
7 8 | $u=v-1$ |
9 10 | 无特殊条件 |
对于所有数据,满足 $2\le n\le 3\times 10^5$, $1\le u,v\le n$,且输入数据构成一棵树。
提示
$\frac{a}{b}$ 对 $p$($p$ 为质数)取模的结果为 $a\times b^{p-2}$。
本题读入量和输出量较大,推荐使用 scanf/printf
进行输入输出。若选手使用 cin
和 cout
,请在 main
程序读入前加上代码 ios:sync_with_stdio(0);
。
5
1 2
2 3
2 4
1 5
7
10
10
13
6
1 2
1 3
4 1
3 5
3 6
18
9
18
18
18