#P17135. 树形广播
树形广播
1011. 树形广播
题目描述
一座大型研究基地铺设了一套树形通信网络。网络中有 个中继节点,编号为 到 ,任意两个节点之间都存在唯一的通信路径。每个节点都带有一块状态显示屏,开机时显示值均为 。
令 表示节点 与节点 之间唯一通信路径上的边数,也就是它们之间的跳数。调度中心可以从某个节点发出「分层广播」:处在不同距离的节点,会根据距离得到不同的显示值。
你需要处理 次操作:
- --- 从节点 发出一次广播。对于每个满足 的节点 ,令 ,并将其显示值覆盖为$$\left(\sum_{i=0}^{k} w_i d^i\right) \bmod 998244353.$$多项式次数满足 。 系数按照次数从低到高的顺序给出: 是常数项系数,一般地, 是 的系数。 公式中的所有运算(包括乘方、乘法与求和)都在模 意义下进行。
- --- 查看节点 的当前显示值。
显示屏不会把新结果与旧结果相加。每次广播都会直接覆盖范围内节点原有的显示值。因此,如果多次广播都能影响同一个节点,只有时间最晚的那一次决定它当前显示的内容。
节点是否受到一次广播影响,只由它与广播中心的跳数决定。范围外的节点保持不变;若不存在跳数位于 内的节点,则该次广播不会改变任何显示值。
输入格式
第一行包含一个整数 (),表示这个单一输入文件中包含的测试场景组数。
每组场景的第一行包含两个整数 和 (),分别表示中继节点数和操作数。
接下来 行,每行包含两个整数 和 (,),表示节点 与节点 之间有一条双向通信线路。给出的所有线路构成一棵树。
接下来 行,每行按照以下格式之一描述一次操作:
- (,,,)--- 从节点 发出一次分层广播。 该操作中恰好给出 个系数。
- ()--- 查看节点 的当前显示值。
保证所有测试场景的 之和不超过 , 之和不超过 。
输出格式
对于每组测试场景中每次类型为 的操作,单独输出一行一个整数,表示所查询节点显示屏上的当前数值。
答案按照输入中的操作顺序连续输出,不要在两组测试场景之间输出空行。
样例输入
2
5 9
1 2
2 3
2 4
4 5
2 3
1 2 1 2 0 7
2 2
2 5
1 5 1 3 1 2 3
2 4
2 3
2 1
2 5
6 9
1 2
1 3
3 4
3 5
5 6
1 3 0 2 2 1 2 3
2 6
1 1 1 1 0 0
2 3
2 4
1 2 2 4 10 1 0 0 0 0 0 0 0 0 0 1
2 3
2 6
2 2
样例输出
0
0
7
5
11
11
7
17
0
6
1025
1048577
0
来源:2026杭电多校-测试专用(电子科大) 原题链接:http://acm.hdu.edu.cn/contest/problem_show.php?cid=1233&pid=1011