问题 5783 --艺术学家的留白

5783: 艺术学家的留白

时间限制: 3 Sec  内存限制: 256 MB
提交: 3  解决: 3
[提交][状态][命题人:]

题目描述

留白是中国艺术作品创作中常用的一种手法,指书画艺术创作中为使整个作品画面、章法更为协调精美而有意留下相应的空白,留有想象的空间。

画卷上有 n 个对象,对象之间有 m 条边,每条边连接两个不同的对象,保证没有两条边连接两个相同的对象。每条边具有一定长度。
对于每个对象 x ,艺术学家需要找出一条从对象 1 到对象 x 的路径,用画笔沿着路径上的边描摹。
为了让画面更美观,艺术学家不会描摹路径上长度最长的一条边,用作留白。同时,对于路径上长度最短的一条边,艺术家会描摹两次,加强视觉映像。如果长度最长的边和长度最小的边是同一条边,则其只被描摹一次。

求对于每个对象 x ,艺术学家最少需要描摹的长度是多少。

输入

第一行输入两个整数  n,m (2≤n≤2·10^5, 2≤m≤2·10^5),表示对象数和边数。
接下来 m 行,第 i 行输入三个整数 u[i],v[i],w[i] (1≤u[i],v[i]≤n, 1≤w[i]≤10^9, u[i]≠v[i])  ,表示第 i 条边连接 u[i] 和 v[i] 两个对象,长度是 w[i] 。

输出

输出一行包含 n-1 个整数,第 i 个整数表示从对象 1 至对象 i+1 的路径上描边的最小长度。
样例输入
Copy
样例1:
5 4
5 3 4
2 1 1
3 2 2
2 4 2

样例2:
6 8
3 1 1
3 6 2
5 4 2
4 2 2
6 1 1
5 2 1
3 2 3
1 5 4

样例3:
7 10
7 5 5
2 3 3
4 7 1
5 3 6
2 7 6
6 2 6
3 7 6
4 2 1
3 1 4
1 7 4
样例输出
Copy
样例1:
1 2 2 4

样例2:
2 1 4 3 1

样例3:
3 4 2 7 7 3

提示

来源

[提交][状态]