题目名称 533. 立春树
输入输出 tdec.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarzqzas 于2011-03-17加入
开放分组 全部用户
提交状态
分类标签
搜索法
分享题解
通过:10, 提交:16, 通过率:62.5%
GravatarCAX_CPG 100 0.157 s 4.74 MiB Pascal
Gravatarhjr1995 100 0.158 s 2.83 MiB Pascal
GravatarQhelDIV 100 0.161 s 11.67 MiB C++
Gravatarkaaala 100 0.201 s 2.94 MiB C++
GravatarCzb。 100 0.255 s 5.22 MiB C++
Gravatar苏轼 100 0.311 s 0.26 MiB C++
Gravatar.Xmz 100 0.328 s 4.45 MiB C++
GravatarPom 100 0.370 s 4.50 MiB C++
Gravatar苏轼 100 0.415 s 4.45 MiB C++
Gravatarwo shi 刘畅 100 0.427 s 6.05 MiB Pascal
本题关联比赛
2011.3.17
2011.3.17
关于 立春树 的近10条评论(全部评论)

533. 立春树

★★   输入文件:tdec.in   输出文件:tdec.out   简单对比
时间限制:1 s   内存限制:128 MiB
Farmer John正在装饰他的立春树(就像圣诞树,但是流行得晚3个月)

它由一个N(1 <= N <= 100,000)个点的树来表示, 标号为1到N,1号点为根。

其他节点i都有个父亲P_i(1 <= P_i <= N)。1号点没有父亲,(输入中用-1表示),

因为它是树根。



每个节点i都有一个对应的以它为根的子树(包括大小为1的子树)。FJ想确保点i对应的子树

有至少C_i个(1 <= C_i <= 10,000,000)个装饰物分散在整个子树上。 他还想用最少的时间

来放置所有装饰物(需要K*T_i的时间在点i放置K个装饰物(1 <= T_i<= 100)).



帮助FJ计算出最少需要的时间放置装饰物来满足要求。答案可能超过32位整数,但是保证
会在64位有符号整数范围内。



例如,考虑下面这棵树:



               1 
               |
               2
               |
               5
              / 
             4   3


假设FJ需要满足下列要求


                  该子树至少需要的装饰物数

                    |     放置一个的时间

                    |       |

      子树的根 |   C_i  |  T_i
       --------+--------+-------
          1    |    9   |   3
          2    |    2   |   2
          3    |    3   |   2
          4    |    1   |   4
          5    |    3   |   3


那么FJ可以放置像下面这样所有的装饰物,用了20的时间:



            1 [0/9(0)]     图例: 元素# [该点放置的装饰物/

            |                      子树中总共的装饰物数(该点总时间)]

            2 [3/9(6)]

            |

            5 [0/6(0)]

           / 

 [1/1(4)] 4   3 [5/5(10)]



问题名称: tdec



输入格式:



* 第一行: 一个整数: N



* 第二行到第N+1行: 第i+1行有三个整数,P_i,C_i,T_i。



样例输入 (tdec.in):



5

-1 9 3

1 2 2

5 3 2

5 1 4

2 3 3



输出格式:



* 第一行: 一个整数:放置装饰物的最少时间



样例输出 (tdec.out):



20