A92839.最小路径价值

普及+/提高

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

现在有一棵包含 nn 个顶点的树。顶点编号为 11nn,第 ii 条边连接顶点 uiu_iviv_i ,第 ii 个顶点的权值为 wiw_i

现在定义 d(a,b)d(a, b) 为顶点 aabb 之间的边数。对于 x=1,2,,Nx = 1, 2, \ldots, N,定义 xx 的路径价值

f(x)=i=1n(wi×d(x,i))f(x) = \sum_{i=1}^{n} (w_i \times d(x, i))

请你求出 min1vnf(v)\displaystyle \min_{1 \leq v \leq n} f(v) 的值,即最小路径价值。

输入格式

第一行输入一个整数 nn (1n105)(1\leq n\leq 10^5) ,表示树上顶点的个数。

接下来 n1n-1 行,每行两个整数 ui,viu_i,v_i (1ui,vin)(1\leq u_i,v_i\leq n) ,表示 uiu_iviv_i 之间有一条边。

n+1n+1 行,输入 nn 个整数 wiw_i (1wi109)(1\leq w_i\leq 10^9),表示第 ii 个顶点的权值。

输出格式

输出一个这个数,表示 min1vNf(v)\displaystyle \min_{1 \leq v \leq N} f(v) 的值。

输入输出样例

  • 输入#1

    4
    1 2
    1 3
    2 4
    1 1 1 2

    输出#1

    5
  • 输入#2

    2
    2 1
    1 1000000000

    输出#2

    1
  • 输入#3

    7
    7 3
    2 5
    2 4
    3 1
    3 6
    2 1
    2 7 6 9 3 4 6

    输出#3

    56

说明/提示

样例解释 1

f(1)f(1) 为例,d(1,1)=0,d(1,2)=1,d(1,3)=1,d(1,4)=2d(1, 1) = 0, d(1, 2) = 1, d(1, 3) = 1, d(1, 4) = 2。因此,

f(1)=0×1+1×1+1×1+2×2=6f(1) = 0 \times 1 + 1 \times 1 + 1 \times 1 + 2 \times 2 = 6

同理,f(2)=5,f(3)=9,f(4)=6f(2) = 5, f(3) = 9, f(4) = 6f(2)f(2) 最小,所以输出 5

样例解释 2

f(2)=1f(2) = 1,这是最小值。

首页