#P2190. 「CCO 2020」千山万壑

「CCO 2020」千山万壑

题目描述

译自 CCO 2020 Day1 T3「Mountains and Valleys」,翻译者:PinkRabbit。


给定一张 NN 个点 MM 条边的无向图,节点的标号为 0∼(N−1)0 \sim (N - 1),其中边有正整数边权。

特别地,有恰好 N−1N - 1 条边的边权为 11,且仅考虑这些边时,图形成了一棵树。而对于其它边,它们的边权至少为 ⌈N3⌉\displaystyle \left\lceil \frac{N}{3} \right\rceil。

请你找出一条路径,可以从任意节点出发,并最终在任意节点停下,但需要经过每一个节点至少一次,且最小化总边权。注意,如果你经过一条边权为 dd 的边 kk 次,那么这条边会为总边权贡献 k⋅dk \cdot d。

输入格式

第一行两个正整数 N,MN, M。
接下来 MM 行,每行三个正整数 xi,yi,wix_i, y_i, w_i,表示一条连接着节点 xix_i 和 yiy_i 的边权为 wiw_i 的边。

输出格式

输出一行一个数表示最小的总边权。

样例

9 10
0 1 1
0 2 1
0 3 1
1 4 1
2 5 1
2 6 1
3 7 1
3 8 1
2 4 5
6 7 3
11

最优方案之一为路径 $4 \to 1 \to 0 \to 2 \to 5 \to 2 \to 6 \to 7 \to 3 \to 8$,总边权为 1+1+1+1+1+1+3+1+1=111 + 1 + 1 + 1 + 1 + 1 + 3 + 1 + 1 = 11。不存在总边权更小的能够经过每个点至少一次的路径。

数据范围与提示

对于所有数据,保证 4≤N≤5×1054 \le N \le 5 \times {10}^5,N−1≤M≤2×106N - 1 \le M \le 2 \times {10}^6,0≤xi,yi<N0 \le x_i, y_i < N,wi=1w_i = 1 或 $\displaystyle \left\lceil \frac{N}{3} \right\rceil \le w_i \le N$,无重边或自环。

子任务编号 分值 N≤N \le M≤M \le 特殊限制
11 44 66 1010 无特殊限制
22 88 2020 4040
33 88 50005000 1000010000 wi=1w_i = 1 或 $\displaystyle \left\lceil \frac{N}{2} \right\rceil \le w_i \le N$
44 2424 100100 200200 无特殊限制
55 88 500500 10001000
66 1212 50005000 1000010000
77 2020 8000080000 160000160000
88 1616 无特殊限制