M - Inversion Numbers of Tree
Editorial
/
Time Limit: 2 sec / Memory Limit: 1024 MB
配点 : 100 点
問題文
1 から N までの番号がつけられた N 個の頂点を持つ木があります。 この木の i 番目の辺は頂点 A_i と頂点 B_i を結んでいます。
この木に対し、頂点 r を根としたときの転倒数を以下のように定義します。
- 頂点 r から頂点 u の単純パスの端点または辺上に頂点 v が含まれるような組 (u, v) \ (u \lt v) の個数
1 以上 N 以下の全ての整数 r に対し、頂点 r を根としたときの転倒数を求めてください。
制約
- 入力は全て整数
- 2 \leq N \leq 10^{5}
- 1 \leq A_i, B_i \leq N
- 与えられるグラフは木である。
入力
入力は以下の形式で標準入力から与えられる。
N A_1 B_1 \vdots A_{N-1} B_{N-1}
出力
N 行出力せよ。i 行目には頂点 i を根としたときの転倒数を出力すること。
入力例 1
3 1 3 2 3
出力例 1
1 2 2
- 頂点 1 を根としたときの転倒数は、(u, v) = (2, 3) より 1 です
- 頂点 2 を根としたときの転倒数は、(u, v) = (1, 2), (1, 3) より 2 です
- 頂点 3 を根としたときの転倒数は、(u, v) = (1, 3), (2, 3) より 2 です。
入力例 2
7 1 4 1 6 2 4 2 5 3 4 4 7
出力例 2
2 3 4 3 7 7 9