#P2916. 安慰奶牛(Cheering up the Cow G)
0
安慰奶牛(Cheering up the Cow G)
安慰奶牛(Cheering up the Cow G)
题目描述
农夫约翰有 个牧场(编号为 到 ,),每个牧场住着一头牛。这些牧场通过 条双向路径()连接。每条路径 连接牧场 和 (;;),穿越该路径需要耗费 ()单位时间。任意两座牧场之间最多只有一条直接相连的路径。
约翰打算在保持各牧场连通的情况下去掉尽量多的道路。约翰知道,在道路被强拆后,奶牛会非常伤心,所以他计划拆除道路之后就去安抚她们。约翰可以选择从任意一个牧场出发开始他的安抚工作。当他走访完所有的奶牛之后,还要回到他的出发地。每次路过牧场 的时候,他必须花 的时间和奶牛交谈,即使之前已经谈过了,也要留下来再谈一次。注意约翰在出发和回去的时候,都要和出发地的奶牛谈一次话。
假设农夫约翰采纳了你关于保留路径的建议,并且你选择了最优的住宿牧场,请计算满足每天至少拜访每头牛一次的前提下,所需的最小总时间。
输入格式
-
第 行:两个用空格分隔的整数: 和
-
第 行到第 行:第 行包含一个整数: 。
-
第 行到第 行:第 行包含三个用空格分隔的整数:、 和 。
输出格式
- 第 1 行:一个整数,表示拜访所有奶牛(包括在睡觉牧场进行的两次交谈)所需的最小总时间。
样例输入 #1
5 7
10
10
20
6
30
1 2 5
2 3 5
2 4 12
3 4 17
2 5 15
3 5 6
4 5 12
样例输出 #1
176
数据范围
+-(15)-+
/ \
/ \
1-(5)-2-(5)-3-(6)--5
\ /(17) /
(12)\ / /(12)
4------+
保留这些路径:
1-(5)-2-(5)-3 5
\ /
(12)\ /(12)
*4------+
选择牧场 作为住处,按照 的顺序拜访所有牧场,最终返回睡觉,总耗时为 单位时间。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1400。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1 | 样例 |
| 1 | 25 | 2~8 | 小规模与边界测试数据 |
| 2 | 30 | 9~16 | 中等规模测试数据 |
| 3 | 35 | 17~25 | 满规模极限测试数据 |
出处:原题链接