#12. 动态距离和
动态距离和
【题目描述】
给出一个 n 个点的树,树边有边权。
求所有点对的距离之和。
会有 m 次修改操作,每次操作是把一条路径上的所有边的边权都加上一个数。
你需要动态维护这个距离和。
输出答案对 1,000,000,007 取模。
【输入格式】
第一行一个整数 n
接下来 n-1 行,每行三个数 a、b、c,表示有一条连接 a、 b 的权值为 c 的边。
接下来一个数 m,表示修改次数。
接下来 m 行,每行三个数 u、v、w,表示 u 到 v 的路径上的每一条边权值都加上 w。
【输出格式】
输出 m+1 行,表示 0 ~ m 次操作之后的距离和。
【样例输入】
3
1 2 2
1 3 1
2
1 2 -2
2 3 1
【样例输出】
6
2
6
【数据规模与约定】
20%的数据,n,m≤50
40%的数据,n,m≤300
60%的数据,n,m≤3000
另 20%的数据,m=0
100%的数据,n,m≤100000,-10^9≤c,w≤10^9