洗衣
题目描述
洗完衣服,就要晒在树上。但是这个世界并没有树,我们需要重新开始造树。我们一开始拥有T0 ,是一棵只有一个点的树,我们要用它造出更多的树。生成第i棵树我们需要五个参数ai,bi,ci,di,li(ai,bi<i)。我们生成第?棵树是将第ai棵树的bi号点和第ci棵树的di号点用一条长度为li的边连接起来形成的新的树(不会改变原来两棵树) 。下面我们需要对新树中的点重编号:对于原来在第ai棵树中的点,我们不会改变他们的编号;对于原来在第bi棵树中的点,我们会将他们的编号加上第ai棵树的点的个数作为新的编号。
定义
F(Ti)=∑(i=0,n-1)∑(j=i+1,n-1)d(vi,vj)
其中,n为树Ti的大小vi,vj是Ti中的点,d(vi,vj)代表这两个点的距离。
现在希望你求出∀1≤i≤m,F(Ti)是多少.
输入
第一行一个整数m,代表要造多少棵树。
接下来m行,每行5个数ai,bi,ci,di,li。
输出
m行每行一个整数代表F(Ti)对10^9+7取模之后的值。
输入样例
3
0 0 0 0 2
1 1 0 0 4
2 2 1 0 3
输出样例
2
28
216
限制
时间:1000ms
空间:256MB
数据范围
对于30%的数据,1<=m<=10;
对于60%的数据,每棵树的点数个数不超过10^5;
对于100%的数据,1<=m<=60。
p.s.
from 高天宇
manual input by autihero(微笑)
信息
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 2
- 已通过
- 1
- 通过率
- 50%
- 上传者