Maximum Distributed Tree
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.
题目描述
给定一棵 个节点, 条边的树。你可以在每一条树上的边标上边权,使得:
- 每个边权都为 正整数;
- 这 个边权的 乘积 等于 ;
- 边权为 的边的数量最少。
定义 表示节点 到节点 的简单路径经过的边权总和。你的任务是让 $\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。