#iai15a2. 树的中心(Center of Tree)

树的中心(Center of Tree)

树的中心(Center of Tree)

题目描述

给定一个树形网络,在该网络中,有 n 个点,n-1 条道路,这些道路都是可以双向通行的,这些道路可以连通所有的点。但注意,每条道路的两个方向可能有不同的距离权重,也就是说,假设一条道路连通了点 u 与点 v,则 u 到 v 的距离权重不一定等于 v 到 u 的距离权重。

请找出一个点,作为网络的中心,使得从这个中心出发,散到 每个点的距离之和达到最小,输出这个最小值。

(注意这个问题不是聚到中心,而是从中心散到各点的最小距离)

输入格式

第一行:单个正整数 n;

第二行到第 n 行:每行四个整数 uᵢ,vᵢ,aᵢ,bᵢ,表示一条道路连通了 uᵢ 与 vᵢ,且 uᵢ 到 vᵢ 的权重为 aᵢ,vᵢ 到 uᵢ 的权重为 bᵢ。

输出格式

单个正整数:表示一个最小的距离之和。

数据范围

  • 对于 30% 的数据,1 ≤ n ≤ 300;
  • 对于 60% 的数据,1 ≤ n ≤ 5000;
  • 对于 100% 的数据,1 ≤ n ≤ 100,000。
  • 1 ≤ aᵢ,bᵢ ≤ 1,000,000。

样例输入 #1

4 1 4 10 2 2 4 9 12 3 4 2 8

样例输出 #1

20

说明:以1为中心,距离之和为50;以2为中心,距离之和为37;以3为中心,距离之和为20;以4为中心,距离之和为22。

知识点与难度

本题涉及的知识点从属于 GESP 7级,难度等级:⭐⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 n≤10 / 特殊: 链状 / 特殊: 星形
2 15 9~11 Hack: n=2 / Hack: 极大权值 / Hack: 双向权值差异大
3 30 12~20 中规模 n≈500~5000 / 大规模 n≈100000 压力
4 25 21~25 随机 n=1~100000 回归