/ Vijos / 题库 /

小树

小树

时间限制:1秒  内存限制:256M


【问题描述】

  给定一棵边带权的有根树,树中包含 \(n\) 个结点(编号为 \(0..n-1\)),其中根结点的编号为 0。你的任务是在树中找出一个结点集合 \(\{a_1,a_2,…,a_m\}\),集合需要满足如下三个条件:
  1)、根结点不在集合中,即 \(0 < a_i < n (1 ≤ i ≤ m)\);
  2)、集合中任意两个结点的最近公共祖先一定是根结点;
  3)、设 \(w_i\) 为结点 \(a_i\) 到根的路径上包含的边的权值和,\(d_i\) 为结点 \(a_i\) 到根的路径上包含的边的数目,那么集合中的 \(∑w_i/∑d_i\) 要达到最大\((1 ≤ i ≤ m)\)。

【输入格式】

  第 1 行为整数 \(n\),表示树的结点数量,接下来的 \(n-1\) 行,每行包含 3 个整数:\(u,v,c\),表示一条有向边的起点为 \(u\),终点为 \(v\),边的权值为 \(c\)。

【输出格式】

  对于每组数据输出一行,为一个实数,表示最大的 \(∑w_i/∑d_i\),四舍五入保留 2 位小数。

【输入输出样例1】

 Input

2
0 1 2

 Output

2.00

【输入输出样例2】

 Input

3
0 1 1
0 2 2

 Output

2.00

【数据限制】

  \(1 ≤ n ≤ 1000\)。

【来源】

 Mr.he

信息

ID
1203
难度
4
分类
树结构 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
被复制
1
上传者