题目背景
在这老街回眸 烟云中追溯我是谁
只消暮雨点滴 便足以粉饰这是非
待这月色涌起 谁人轻叩这门扉
苔绿青石板街 斑驳了流水般岁月
小酌三盏两杯 理不清缠绕的情结
在你淡漠眉间 瞥见离人的喜悲霜雪
洛天依看到了一颗雪中的梨树,梨树的根中有有限的热量,它可以向上需要传递热量到其他节点。但风雪很大,每时每刻每个节点热量都会增加会增加或减少,热量过低的节点会掉落。
题目描述
具体来说,这棵梨树可以被抽象为一颗以 1 号结点为根的树,初始时每个点都是白色,每个点有热量 ai,初始时 1 以外所有点的热量都为 0,a1=k。我们设一个累计热量 b。
我们通过如下操作定义一个序列 {vt} 的权值:
- 从小到大度过 1,2,3,…,t 这 t 个时刻。
- 在第 x 个时刻,执行 b←b+vx。
- 对于父子 (u,v),设 u 为父亲,可以选定整数 h∈[0,au] 执行操作 au←au−h,av←av+h,之后该时刻内形如 (v,w) 且 v 为父亲的父子不能操作。
- 若一个点 i 满足 ai+b<0,将 i 以及 i 的子树中的点染成黑色。
- 执行最优操作以最大化第 t 时刻后的白点个数,该序列热量即为最大白点个数。
定义一个序列 {vt} 合法当且仅当 ∀i∈[1,t],∣vi∣∈[0,m]。给定 t,求出所有合法序列 {vt} 的权值之和对 998244353 取模的值。
输入格式
第一行四个非负整数 n,m,t,k,分别表示树的结点个数,vi 的取值范围,时刻数,初始时的 a1。
接下来 n−1 行,每行两个正整数 u,v,表示 u 号结点与 v 号结点之间有一条边。
输出格式
输出所有合法序列的和对 998244353 取模后的结果。
1 1 1 1
3
3 1 2 2
1 2
1 3
22
5 2 3 5
1 2
2 3
2 4
4 5
407
10 5 6 44
1 2
1 3
2 5
2 6
3 4
6 7
6 8
4 9
9 10
10465095
提示
样例解释
样例 3 解释:
对于一种 {v3}={1,0,−2} 的情况,一种最优操作如下:
- 第一个时刻,1 号结点传递 4 热量给 2 号结点,操作完毕后 a={1,4,0,0,0},b=1。
- 第二个时刻,2 号结点传递 2 热量给 4 号结点,操作完毕后 a={1,2,0,2,0},b=1。
- 第三个时刻,2 号结点传递 1 热量给 3 号结点,4 号结点传递 1 热量给 5 号结点,操作完毕后 a={1,1,1,1,1},b=−1。
- 所有时刻结束,因为始终没有 ai+b<0 的点,所以所有结点为白色。
样例 4 解释:
对于一种 {v6}={1,2,1,2,1,2} 的情况,一种最优操作如下:
- 第 1∼6 个时刻,不进行操作。
- 所有时刻结束,因为始终没有 ai+b<0 的点,所以所有结点为白色。
数据范围与约定
本题采用捆绑测试。
Subtask 编号 |
n≤ |
m≤ |
t≤ |
k≤ |
分值 |
特殊性质 |
0 |
4 |
40 |
20 |
|
1 |
2×105 |
20 |
1×105 |
10 |
A |
2 |
3×105 |
20 |
|
3 |
50 |
100 |
10 |
4 |
500 |
40 |
对于 100% 的数据,1≤n≤2×105,1≤k≤3×105,1≤m≤50,1≤t≤500,保证输入构成一棵树。