/ Vijos / 题库 /

树的带权路径长度

树的带权路径长度

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


【问题描述】

  给定一棵包含 \(n\) 个节点和 \(n-1\) 条边的树,每条边连接两个结点,且任意两个结点存在一条路径相互到达。树上结点编号是从 1 到 \(n\) 的连续正整数,编号为 \(i\) 的结点的权值为 \(w_i\),每条边的都有一个权值 \(L_k\)。树的两点 \((u,v)\) 的距离定义为 \(u\) 点到 \(v\) 点经过的边权和。在树的 \(s\) 号点建立了一个邮局。如果把每个点的权值看成是这个点的人数,那么所有人到邮局 \(s\) 的路程总和(树的带权路径长度)。

【输入格式】

  第 1 行包含两个整数 \(n\) 和 \(s\)。
  接下来 \(n-1\) 行,每行包含 3 个用空格隔开的正整数 \(u、v、L\),表示编号为 \(u\) 和编号为 \(v\) 的点之间有边相连,边权为 \(L\)。
  最后 1 行,包含 \(n\) 个正整数,每两个正整数之间用一个空格隔开,其中第 \(i\) 个整数表示编号为 \(i\) 的点的权值为 \(w_i\)。

【输出格式】

  输出一个整数表示带权路径长度。

【输入输出样例】

 Input

5 2
1 2 1
2 3 2
3 4 1
4 5 3
1 5 2 3 10

 Output

74

【数据限制】

  对于 \(100\%\) 的数据,\(1<n≤200,000 ,0<L,W_i≤10000\)。

【来源】

  Mr.he

信息

ID
1248
难度
3
分类
树结构 点击显示
标签
(无)
递交数
0
已通过
0
通过率
?
上传者