#L3015. #3015. 「COCI 2014.12」MRAVI

    ID: 5243 传统题 1000ms 256MiB 尝试: 2 已通过: 1 难度: 10 上传者: 标签>其他二分查找动态规划树形DP树形DP可行性判断

#3015. 「COCI 2014.12」MRAVI

#3015. 「COCI 2014.12」MRAVI


题目描述

译自 COCI 2014/2015 Contest #4 T4「MRAVI」

小 Bobi 每天起床后的首要任务是给他的宠物蚂蚁喂食。

他把它们放在一个玻璃容器里,里面是一个管道系统,可以用一棵有 NN 个结点且根节点为 11 的树表示,每条管道对应树中的边。 在这个系统中,液体从某个结点流向这个结点的儿子。

我们知道每条管道的流量 XiX_i,即从父亲结点经过这条管道流到儿子结点的液体百分比。 让我们来研究一下这个例子:

图中,结点 11 有着 1212 升液体和两条管道连接。其中一条管道 Xi=30X_i = 30,另一条 Xi=70X_i = 70。 那么,结点 22 将会获得 3.63.6 升液体,结点 33 将会获得 8.48.4 升液体。 在给定的数据中,保证一个结点连接的所有管道的 XiX_i 之和为 100100

不过,Bobi 有些管道开了挂,可以让流经的液体变成原来的平方。 比如,如果上述第一条管道开了挂,那么结点 22 获得的液体将会变成 12.9612.96 升,但结点 33 获得的液体仍是 8.48.4 升。 这个挂的神奇之处在于,一个结点流出的液体可能大于流进这个结点的液体!

蚂蚁只住在叶子结点上。对于每个叶子结点,给定该结点的蚂蚁所需的液体量 KiK_i。Bobi 将会往根结点倒入 LL 升液体。 Bobi 想知道,他至少要倒入多少升液体,才能喂饱所有蚂蚁,即求满足条件的最小的 LL

数据保证 LL 不超过 21092 \cdot 10^9


输入格式

第一行,一个整数 NN

接下来 N1N-1 行,每行四个整数 Ai,Bi,Xi,TiA_i,B_i,X_i,T_i,表示有一条连接 Ai,BiA_i,B_i 的管道,流量为 XiX_i,开挂情况为 TiT_i,为 11 时开挂否则不开。

接下来一行,NN 个整数 KiK_i,表示每个结点的蚂蚁所需的液体量。如果第 ii 个结点不是叶子,Ki=1K_i = -1


输出格式

一行,最小的 LL。 误差最多为 0.0010.001


样例 1

输入

5
1 2 50 0
1 3 50 0
2 4 25 0
2 5 75 1
-1 -1 4 1 9

输出

8.00

解释
如果 Bobi 往根结点倒入 88 升液体,那么结点 3,4,53,4,5 分别会获得 4,1,94,1,9。 这些都是叶子结点,并且得到的液体刚刚好。同时 88 也是最优解。


样例 2

输入

3
1 2 20 1
1 3 80 1
-1 4 8

输出

10.0000

样例 3

输入

6
1 2 100 1
2 3 20 0
2 4 20 0
2 5 60 0
4 6 100 1
-1 -1 1 -1 1 2

输出

2.659

数据范围与提示

1Ai,BiN10001 \le A_i,B_i \le N \le 10001Xi1001 \le X_i \le 1000Ti10 \le T_i \le 1