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.

题目描述

给定一棵 nn 个节点,n1n-1 条边的树。你可以在每一条树上的边标上边权,使得:

  1. 每个边权都为 正整数
  2. n1n-1 个边权的 乘积 等于 kk
  3. 边权为 11 的边的数量最少。

定义 f(u,v)f(u,v) 表示节点 uu 到节点 vv 的简单路径经过的边权总和。你的任务是让 $\sum\limits_{i=1}^{n-1}\sum\limits_{j=i+1}^{n} f(i,j)$ 最大。

最终答案可能很大,对 109+710^9+7 取模即可。

kk 有可能很大,输入数据中包含了 mm 个质数 pip_i,那么 kk 为这些质数的乘积。

输入格式

第一行,一个整数 tt (1t100)(1\leq t\leq 100),表示多组测试数据个数。对于每一个测试数据:

第一行,一个整数 nn (2n105)(2\leq n\leq 10^5),表示树上节点数;

22nn 行,每行两个整数 uiu_iviv_i (1ui,vin,uivi)(1\leq u_i,v_i \leq n,u_i\neq v_i),描述了一条无向边;

n+1n+1 行,一个整数 mm (1m6×104)(1\leq m\leq 6\times 10^4),表示 kk 分解成质因子的个数;

n+2n+2 行,mm质数 pip_i (2pi<6×104)(2\leq p_i< 6\times 10^4),有 k=i=1mpik=\prod\limits_{i=1}^m p_i

数据保证所有的 nn 总和不超过 10510^5,所有的 mm 总和不超过 6×1046\times 10^4。数据给出的边保证能够形成一棵树。

输出格式

一行,一个整数,表示最大的答案对 109+710^9+7 取模后的值。

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

线性DP基础

Not Claimed
Status
Done
Problem
20
Open Since
2026-3-11 0:00
Deadline
2026-3-31 23:59
Extension
24 hour(s)