luogu#P10037. 「FAOI-R2」梨花开 (C)
「FAOI-R2」梨花开 (C)
题目背景
忽如一夜春风来,千树万树梨花开。
雪,覆盖了大漠上的一颗颗树,仿佛朵朵梨花盛开。但是令 krjt 意想不到的是,这些树居然真的是梨树!
题目描述
给你一颗以 为根的树,初始时每个点都是白色,每个点有两个权值 ,初始时所有点的两个权值都为 ,但 。
我们通过如下操作定义一个序列 的权值:
- 从小到大度过 这 个时刻。
- 在第 个时刻,对于 ,执行 。
- 对于父子 ,设 为父亲,可以选定整数 执行操作 ,,之后该时刻内形如 且 为父亲的父子不能操作。
- 若一个点 满足 ,将 以及 的子树中的点染成黑色。
- 执行最优操作以最大化第 时刻后的白点个数,该序列权值即为最大白点个数。
定义一个序列 合法仅当 ,。给定 ,求出所有合法序列 的权值之和对 取模的值。
原题面
krjt 的目光注视在一棵以 号结点为根的, 个结点的梨树上。
这颗梨树的每个点在每一刻都可以做任意次以下操作:将自己的基本热量提供任意正整数量给某个儿子。
但需要注意的是,在同一个时刻里,只有当一个结点的所有儿子结束操作后,该结点才能操作。
雪纷纷地下着,梨树在 个时刻的冬天里,第 天所有操作完成后每个结点的都会加上 点附加热量,若加上后该结点的总热量仍然 则会连同它的子树一起冻死(自动与其祖先断开,掉到地上)。每个 都是 中的一个不确定的整数值。
梨树定义一个序列 的价值为它作为每时刻增加的热量时,梨树最多保留的结点数。
梨树不愿在这个冬天死去,希望求出所有方案的价值和,以保留尽量多的结点迎接春天,绽放花朵。因为在冬天前,它的根结点储蓄了 点基本热量(和 点附加热量,其他结点储蓄了 点热量),这是自知活不过冬天的伙伴给它的。
而它伙伴在最后一点意识隐隐消失时,仿佛能够看到:一夜春风轻抚,冰雪消融,树林里朵朵梨花开……
答案对 取模。
输入格式
第一行四个非负整数 ,分别表示树的结点个数, 的取值范围,冬天的时长,根结点原本存储的热量。
接下来 行,每行两个正整数 ,表示 号结点与 号结点之间有一条边。
输出格式
输出所有 种情况的答案的和对 取模后的结果。
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
提示
样例 解释:
对于一种 的情况,一种最优操作如下:
- 第一个时刻, 号结点传递 热量给 号结点,操作完毕并增加 后每个结点的热量分别为 。
- 第二个时刻, 号结点传递 热量给 号结点,操作完毕并增加 后每个结点的热量分别为 。
- 第三个时刻, 号结点传递 热量给 号结点, 号结点传递 热量给 号结点,操作完毕并增加 后每个结点的热量分别为 。
- 第四个时刻,冬天过去, 个结点全部存活。
样例 解释:
对于一种 的情况,一种最优操作如下:
- 每个时刻都不进行操作。
- 第 个时刻,冬天过去, 个结点全部存活。
本题采用捆绑测试。
Subtask 编号 | 分值 | ||||
---|---|---|---|---|---|
特殊性质:对于 Subtask 1,保证树的形态是菊花。
对于 的数据,,,,,保证输入构成一棵树。