[R29F]好树
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
时空限制
2S/512M
题目描述
给定一棵包含 个节点的树和一个长度为 的数组 。
你需要为树上的每一个节点 赋予一个整数权值,记作 。称一种赋值方案是好的,当且仅当它满足以下两个条件:
- 对于任意节点 ,其权值必须在 的范围内,即 。
- 对于树上的任意一条边 ,两个端点权值的差的绝对值必须满足:。
对于每一种好的的赋值方案,需要计算其所有节点的权值和的平方和。
形式化地,设 是所有合法赋值方案的集合,你需要计算:
$$\sum_{S \in \mathbb{S}} \left( \sum_{u=1}^{n} A_{S,u} \right)^2 \bmod{P} $$其中 表示在方案 中节点 的权值。
由于答案可能很大,请将最终结果对给定的模数 取模。
格式
输入格式
第一行包含两个整数 ,分别表示树的节点数量和模数。
接下来一行包含 个整数,第 个整数表示 。
接下来的 行,每行包含两个整数 ,表示树上的一条边。
输出格式
输出一个整数,表示题目所求的最终值对 取模后的结果。
样例
样例输入 #1
2 1000000
1 1
1 2
样例输出 #1
38
样例解释 #1
约束条件为 。
故所有可能的赋值方案 如下:
- : 。合法。权值和为 。平方为 。
- : 。合法。权值和为 。平方为 。
- : 。合法。权值和为 。平方为 。
- : 。合法。权值和为 。平方为 。
所有赋值方案都满足条件,所以共有 种合法的赋值方案。
故所有方案的权值和的平方和为 。
样例输入 #2
5 1000000
1 2 3 1 1
1 2
1 3
2 4
3 5
样例输出 #2
630525
数据规模
对于 的数据,。
对于 的数据,。
对于 的数据,,,。
代码源挑战赛 Round 29
- Status
- Done
- Rule
- DMY
- Start at
- 2025-9-12 20:00
- End at
- 2025-9-12 21:30
- Duration
- 1.5 hour(s)
- Host
- Partic.
- 523