| 题目名称 | 4211. [SHOI2005] 树的双中心 |
|---|---|
| 输入输出 | dcog.in/out |
| 难度等级 | ★★★ |
| 时间限制 | 500 ms (0.5 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:2, 提交:6, 通过率:33.33% | ||||
|
|
100 | 0.991 s | 9.48 MiB | C++ |
|
|
100 | 1.427 s | 8.67 MiB | C++ |
|
|
0 | 0.042 s | 5.00 MiB | C++ |
|
|
0 | 1.390 s | 8.66 MiB | C++ |
|
|
0 | 1.417 s | 8.66 MiB | C++ |
|
|
0 | 1.424 s | 8.65 MiB | C++ |
| 关于 树的双中心 的近10条评论(全部评论) |
|---|
给定一棵树 $T=(V,E)$,其中 $V$ 为节点集合,$E$ 为边集合。
对于 $V$ 中的每个节点 $v$,有一个权值函数 $W(v)$,该函数的值均为正整数。
记 $d(u,v)$ 为节点 $u$ 和 $v$ 之间的距离,表示它们之间唯一的一条路径的边数。若 $u$ 和 $v$ 为同一个节点,则 $d(u,v)=0$。
你的任务是找出两个不同的节点 $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)$ 输出。
5 1 2 1 3 3 4 3 5 5 7 6 5 4
14
样例中,选取的两个中心节点分别为 $2$ 和 $3$。
暂无数据
SHOI2005。