问题 5173 --昕晨的圣诞老人网络

5173: 昕晨的圣诞老人网络★★★

时间限制: 2 Sec  内存限制: 128 MB
提交: 26  解决: 10
[提交][状态][命题人:]

题目描述

昕晨最近在写科幻体小说,他打算搞一个圣诞老人网络,且听他娓娓道来:

新的一年即将来到!在这个世界上,有n个城市和n-1条道路。对于任何两个不同的城市,它们之间总是存在一条路径。城市用1n的整数进行编号,道路用1n-1的整数进行编号。定义duv)表示城市u和城市v之间道路的总长度。

作为一项年度活动,人们每年只维修一条道路。因此,每年总会有一条道路的长度缩短了。众所周知,在第i年,第ri条道路的长度将缩短为wi。假设当前年份为第1年。

三位圣诞老人计划每年给所有儿童赠送礼物。为了做到这一点,他们需要做一些准备,因此他们将选择三个不同的城市c1c2c3,并在每个城市建立一个仓库。第k个(1 ≤ k ≤ 3)圣诞老人将负责ck市的仓库。

三个圣诞老人单独呆在一个仓库里真的很无聊。所以,他们决定建立一个只为圣诞老人服务的网络!构建该网络所需的成本等于dc1c2+dc2c3+dc3c1)。圣诞老人没有时间去找最好的地方,所以他们决定从1n的不同数字中随机选择c1c2c3。圣诞老人们想知道构建网络所需成本的期望值。

然而,如上所述,每年都有一条道路的长度减少。因此,圣诞老人希望计算每次长度变化后的期望值。帮助他们计算一下吧。

输入

第一行包含整数n3≤n≤105),表示城市数量。

随后的n-1行描述道路。第i行(1i≤n-1)包含三个空格分隔的整数aibili1≤aibi≤n,ai≠bi1≤li≤103),表示第i条道路连接城市aibi,第i条路的长度为li

随后一行包含整数q1≤q≤105-道路长度变化的数量。

接下来的q行描述道路长度的变化。第j行(1≤j≤q)包含两个空格分隔的整数rjwj1≤rj≤n-1, 1≤wj≤103). 这意味着在第j次维修时,道路rj的长度变为wj。数据确保wj小于道路rj的当前长度。同一条道路可以维修多次。

输出

输出q个数字。对于每个给定的长度变化,打印一行,其中包含构建网络所需的预期成本。输出结果保留10位小数。

样例输入
Copy
例1:
3
2 3 5
1 3 3
5
1 4
2 2
1 2
2 1
1 1
例2:
6
1 5 3
5 3 2
6 1 7
1 4 4
5 2 3
5
1 2
2 1
3 5
4 1
5 2
样例输出
Copy
例1:
14.0000000000
12.0000000000
8.0000000000
6.0000000000
4.0000000000
例2:
19.6000000000
18.6000000000
16.6000000000
13.6000000000
12.6000000000

提示

考虑第一个例子。有六个三元组:(1,2,3), (1,3,2), (2,1,3), (2,3,1), (3,1,2), (3,2,1)。因为n=3,所有三元组的网络成本为d(1,2)+d(2,3)+d(3,1)。所以成本等于d(1,2)+d(2,3)+d(3,1)

来源

[提交][状态]