树的度数
题号:NC232852
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

小N有一棵包含n个点的树。树上每条边都有一个正整数权值,点的度数是与该点相连的边数。小N不喜欢点有很大的度数,他想知道对于从0n-1的每个整数x,若要使得每个点的度数都不超过x,删除的边集的最小权值和是多少。

输入描述:

第一行输入一个整数n (),表示点的个数。
接下来的(n-1)行,每行3个整数a,b,c (, ),表示ab之间有一条权值为c的边。保证输入满足树。

输出描述:

输出n个整数,对每个,输出使得每个点的度数都不超过x所删除的边集的最小权值和。
示例1

输入

复制
5
1 2 1
1 3 2
1 4 3
1 5 4

输出

复制
10 6 3 1 0

说明

x=0: 1+2+3+4
x=1: 1+2+3
x=2: 1+2
x=3: 1
x=4: 0
示例2

输入

复制
5
1 2 1
2 3 2
3 4 5
4 5 14

输出

复制
22 6 0 0 0

说明

x=0: 1+2+5+14
x=1: 1+5
x=2: 0
x=3: 0
x=4: 0