luogu#P2726. [SHOI2005] 树的双中心

    ID: 3295 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>2005各省省选上海树形 DP树的重心

[SHOI2005] 树的双中心

题目描述

给定一棵树 T=(V,E)T=(V,E),其中 VV 为节点集合,EE 为边集合。

对于 VV 中的每个节点 vv,有一个权值函数 W(v)W(v),该函数的值均为正整数。

d(u,v)d(u,v) 为节点 uuvv 之间的距离,表示它们之间唯一的一条路径的边数。若 uuvv 为同一个节点,则 d(u,v)=0d(u,v)=0

你的任务是找出两个不同的节点 xxyy,使得以下表达式 S(x,y)S(x,y) 的值最小

$$S(x,y)=\sum_{v\in V} (W(v)\cdot \min\{ d(v,x),d(v,y)\}) ## 输入格式 第一行为 $N\;(1<N\le5\times 10^4)$,表示树的节点数目,树的节点从 $1$ 到 $N$ 编号。 接下来 $N-1$ 行,每行两个整数 $U,V$,表示 $U$ 与 $V$ 之间有一条边。 再接下 $N$ 行,每行一个正整数,其中第i行的正整数表示编号为 $i$ 的节点权值为 $W(i)$。 保证树的深度不超过 $100$。 ## 输出格式 将最小的 $S(x,y)$ 输出,结果保证不超过 $10^9$ ```input1 5 1 2 1 3 3 4 3 5 5 7 6 5 4 ``` ```output1 14 ``` ## 提示 样例中,选取的两个中心节点分别为 $2$ 和 $3$。$$