#28433. Maximum Distributed Tree
Maximum Distributed Tree
题目描述
给定一棵 个节点, 条边的树。你可以在每一条树上的边标上边权,使得:
- 每个边权都为 正整数;
- 这 个边权的 乘积 等于 ;
- 边权为 的边的数量最少。
定义 表示节点 到节点 的简单路径经过的边权总和。你的任务是让 $\sum\limits_{i=1}^{n-1}\sum\limits_{j=i+1}^{n} f(i,j)$ 最大。
最终答案可能很大,对 取模即可。
有可能很大,输入数据中包含了 个质数 ,那么 为这些质数的乘积。
输入格式
第一行,一个整数 ,表示多组测试数据个数。对于每一个测试数据:
第一行,一个整数 ,表示树上节点数;
第 至 行,每行两个整数 和 ,描述了一条无向边;
第 行,一个整数 ,表示 分解成质因子的个数;
第 行, 个 质数 ,有 。
数据保证所有的 总和不超过 ,所有的 总和不超过 。数据给出的边保证能够形成一棵树。
输出格式
一行,一个整数,表示最大的答案对 取模后的值。
3
4
1 2
2 3
3 4
2
2 2
4
3 4
1 3
3 2
2
3 2
7
6 1
2 3
4 6
7 3
5 1
3 6
4
7 5 13 3
17
18
286
样例解释
在第一个测试用例中,其中一种最优方案如下图所示:

在这个用例中,(f(1,2)=1),(f(1,3)=3),(f(1,4)=5),(f(2,3)=2),(f(2,4)=4),(f(3,4)=2),因此这6个数字的和为 17。
在第二个测试用例中,其中一种最优方案如下图所示:

在这个用例中,(f(1,2)=3),(f(1,3)=1),(f(1,4)=4),(f(2,3)=2),(f(2,4)=5),(f(3,4)=3),因此这6个数字的和为 18。
Related
In following homework: