#P4349. 最小树形图

最小树形图

题目描述

小C现在正要攻打科学馆腹地——计算机第三机房。而信息组的同学们已经建好了一座座堡垒,准备迎战。

小C作为一种高度智慧的可怕生物,早已对同学们的信息了如指掌。 攻打每一个人的堡垒需要一个代价,而且必须攻打若干次才能把镇守之人灭得灰飞烟灭。

当小C在绞尽脑汁想攻打方案时,突然从XXX的堡垒中滚出来一个纸条:一个惊人的秘密被小C发现了:原来各个堡垒之间会相互提供援助,但是当一个堡垒被攻打时,他对所援助的堡垒的援助就会停止,因为他自己已经自身难保了。 也就是说,小C只要攻打某个堡垒一次之后,某些堡垒就只需要花更小的代价攻击了。

现在,要你求消灭全机房要用掉代价最小多少。

输入格式

第一行一个数NN,表示机房修建的堡垒数。

接下来NN行,每行两个数,第一个实数AiA_i表示攻打第ii号堡垒需要的代价AiA_i(0<Ai10000 \lt A_i \le 1000)。第二个数BiB_i(0<Bi<1000 \lt B_i \lt 100)表示第ii号堡垒需要被攻打BiB_i次。

接下来一个数kk,表示总共有kk组依赖关系。

接下来kk行每行三个数xxyyzz(x,yx,y为整数,zz为实数),表示攻打过一次xx号堡垒之后,攻打yy号堡垒就只要花zz的代价,保证zzyy原来的代价小。 不需要攻打的城堡不允许攻打。

输出格式

一行,一个实数表示消灭全机房要用的最小代价,保留两位小数。

3
10.00 1
1.80 1
2.50 2
2
1 3 2.00
3 2 1.50
15.50