「KDOI-07」对树链剖分的爱

题目背景

楼下说得对,但是 sszcdjr 在 NOI 2024 D2T2 用巧妙做法把我的暴力树剖爆掉了。 楼上说得对,但是树链剖分把我送上 10√ 了,所以我出了这道题以表示我对树链剖分的爱喵。

题目描述

给出一棵 $n$ 个节点以 $1$ 为根的有根树。对于第 $2\leq i\leq n$ 个节点,其父亲 $f_i$ 在 $[l_i,r_i]$ 中均匀随机。每个树的边有边权,初始为 $0$。 现在有 $m$ 次操作,第 $i$ 次操作表示将 $(u_i,v_i)$ 的路径上所有的边的权值统一加上 $w_i$。$m$ 次操作结束后,对于所有 $i=2\sim n$,求 $(i,f_i)$ 边上权值的期望,对 $998244353$ 取模。

输入输出格式

输入格式


第一行一个正整数表示 $n$。 接下来 $n-1$ 行,其中第 $i$ 行两个正整数表示 $l_{i+1},r_{i+1}$。 接下来一行一个正整数表示 $m$。 接下来 $m$ 行,第 $i$ 行三个正整数表示 $u_i,v_i,w_i$。

输出格式


一行 $n-1$ 个正整数,其中第 $i$ 个表示边 $(i+1,f_{i+1})$ 边权的期望,对 $998244353$ 取模。

输入输出样例

输入样例 #1

3
1 1
1 2
1
1 3 2

输出样例 #1

1 2

输入样例 #2

5
1 1
1 2
3 3
2 4
9
2 5 497855355
1 5 840823564
3 1 295265328
2 3 457999227
4 4 235621825
2 1 86836399
5 2 800390742
5 3 869167938
2 4 269250165

输出样例 #2

405260353 409046983 606499796 13504540

说明

### 样例解释 1 所有节点的父亲共有 $2$ 种可能的情况: - $f_2=1,f_3=1$,此时 $(f_2,2),(f_3,3)$ 边上的权值分别是 $0,2$。 - $f_2=1,f_3=2$,此时 $(f_2,2),(f_3,3)$ 边上的权值分别是 $2,2$。 于是边 $(f_2,2)$ 边权的期望为 $\dfrac{0+2}{2}=1$,边 $(f_3,3)$ 边权的期望为 $\dfrac{2+2}{2}=2$。 --- ### 数据规模与约定 **本题采用捆绑测试。** | $\text{Subtask}$ | $n\leq$ | $m\leq$ | 分数 | | :-----------: | :-----------: | :-----------: | :-----------: | | $1$ | $10$ | $10$ | $20$ | | $2$ | $50$ | $50$ | $20$ | | $3$ | $500$ | $500$ | $20$ | | $4$ | $5000$ | $1$ | $20$ | | $5$ | $5000$ | $5000$ | $20$| 对于所有数据,保证 $1\leq n,m\leq5000$,$1\leq l_i\leq r_i<i$,$1\leq u_i,v_i\leq n$,$1\leq w_i\leq 10^9$。