CF1725J Journey

题目描述

有一天,Pak Chanek 因为独自在家感到无聊,决定去旅行。在寻找合适的地方时,他发现 Londonesia 有一个有趣的结构。 根据 Pak Chanek 收集到的信息,Londonesia 有 $N$ 个城市,编号从 $1$ 到 $N$。这些城市通过 $N-1$ 条双向道路相连,第 $i$ 条道路连接城市 $U_i$ 和 $V_i$,通行需要 $W_i$ 小时。换句话说,Londonesia 的结构是一棵树。 Pak Chanek 想在 Londonesia 进行一次旅行,起点和终点可以是任意城市(不一定是同一个城市),要求每个城市至少访问一次,并且总用时最少。为了让旅程更快结束,Pak Chanek 还携带了一台瞬间传送装置,可以从任意一个城市瞬间移动到另一个城市,但最多只能使用一次。请帮助 Pak Chanek 计算访问所有城市至少一次所需的最短时间。 注意: - Pak Chanek 只需要每个城市至少访问一次,不需要每条道路都经过。 - 在旅途中,一个城市或一条道路可以被访问多次。

输入格式

第一行包含一个整数 $N$($1 \le N \le 10^5$),表示 Londonesia 的城市数量。 接下来的 $N-1$ 行中,第 $i$ 行包含三个整数 $U_i$、$V_i$ 和 $W_i$($1 \le U_i, V_i \le N$,$1 \le W_i \le 10^9$),表示一条连接城市 $U_i$ 和 $V_i$ 的双向道路,通行需要 $W_i$ 小时。Londonesia 的道路结构是一棵树。

输出格式

输出一个整数,表示访问每个城市至少一次所需的最短时间(单位:小时)。

说明/提示

在第一个样例中,最短的旅行路线是 $2 \to 1 \xrightarrow{\text{传送}} 4 \to 3$。 在第二个样例中,最短的旅行路线是 $3 \to 1 \to 4 \to 1 \to 2 \xrightarrow{\text{传送}} 5$。 由 ChatGPT 4.1 翻译