#C. 树(tree)

    Type: Default File IO: tree 1000ms 256MiB

树(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.

【题目描述】

​ 小LL有一棵树,每条边都有边权。定义dist(x,y)dist(x,y)表示xx号点到yy号点的唯一简单路径上的边权和(即xxyy的距离)。现在小LL想知道:

i=1nj=i+1ndist(i,j)\sum_{i=1}^{n} \sum_{j=i+1}^{n} dist(i,j)

​ 即树上点两两之间的距离和。然而这个树是会不断变换的,每一次都会有一条边的权值改变。每一次修改之后,小LL都想知道树上点两两之间的距离和,你可以帮帮他吗?

【输入格式】

​ 输入文件名为tree.in。

​ 第一行有三个正整数n,qn,q,分别表示树的点数,和修改的次数。

​ 接下来n1n-1行,每行三个数xi,yi,wix_i,y_i,w_i,表示编号为ii的边连接了xix_iyiy_i,边权为wiw_i

​ 接下来qq行,每行两个数idi,wiid_i,w_i,表示将编号为idiid_i的边的权值改为wiw_i

【输出格式】

​ 输出文件名为tree.out。

​ 输出共qq行,第ii行表示第ii次修改后树上点两两之间的距离和。

4 2
1 2 1
1 3 1
1 4 1
1 2
2 3
12
18

【样例2】

​ 见下发文件。

【数据范围】

​ 对于 20%20\% 的数据,满足 n100,q100n \leq 100,q \leq 100

​ 对于 40%40\% 的数据,满足n3000,q3000n \leq 3000,q \leq 3000

​ 另有 20%20\% 的数据,满足n200000,q=1n \leq 200000,q = 1

​ 对于 100%100\% 的数据,满足 $1 \leq n \leq 200000,1 \leq q \leq 200000,1 \leq w_i \leq 1000$。

国庆欢乐赛3

Not Attended
Status
Done
Rule
OI
Problem
4
Start at
2024-10-5 14:00
End at
2024-10-5 17:30
Duration
3.5 hour(s)
Host
Partic.
36