小岛的自驾旅行
测试数据来自 system/1875
描述
给定一棵含有n个结点的树,结点从1标号。
你从1号结点驾车出发,希望遍历一些关键结点(访问到就好,不需要按照这些关键结点的输入顺序)。
每条边有两个权值,c_0与c_1,分别表示步行和驾车经过这条边的代价。
对于一条边u->v,每次你可以选择:驾车经过这条边(当且仅当人在结点u的时候,车也在结点u处);或者直接步行经过一条边,若此刻车在身边,则会暂时停放在结点u。
你可以在任何时间返回到车子所在的城市并重新驾车出发。
求遍历完所有关键结点的最少代价。注意: 你可以在任意结点结束遍历,即使那时候车子并不在身边。
格式
输入格式
输入数据的第一行,包含一个整数n —树的结点总数(1 <= n <= 10^6)。
接下来的 n-1 行,每行有四个整数 u, v, c_0, c_1 描述一条边(1 <= u, v <= n, 1 <= c_0, c_1 <= 10^9)。
接下来的一行包含一个整数 m — 关键结点的个数。
接下来的一行包含 m 个互不相同的整数 k_1, k_2, ... , k_m (1 <= k_i <= n) 表示关键结点。
输出格式
输出一行表示所求结果。
样例1
样例输入1
4
1 2 10 35
2 3 20 10
2 4 20 10
3
2 3 4
样例输出1
65
样例2
样例输入2
7
1 2 10 35
1 5 10 30
2 3 20 10
2 4 20 10
5 6 20 10
5 7 20 10
6
2 3 4 5 6 7
样例输出2
150
限制
每一个测试点限时5s.
来源
感谢 温馨与信赖的 岛哥 ^_^ 提供.
信息
- ID
- 1808
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者