#abc220f. F - Distance Sums 2

F - Distance Sums 2

Score : 500500 points

问题描述

给定一个包含 NN 个顶点的树。顶点编号为 1,2,,N1,2,\ldots ,N,第 ii 条边是一条无向边,连接顶点 uiu_iviv_i

对于每个整数 i(1iN)i\,(1 \leq i \leq N),计算 j=1Ndis(i,j)\sum_{j=1}^{N}dis(i,j) 的值。

这里,dis(i,j)dis(i,j) 表示从顶点 ii 到顶点 jj 所需经过的最短边数。

以上为通义千问 qwen-max 翻译,仅供参考。

Problem Statement

Given is a tree with NN vertices. The vertices are numbered 1,2,,N1,2,\ldots ,N, and the ii-th edge is an undirected edge connecting Vertices uiu_i and viv_i.

For each integer i(1iN)i\,(1 \leq i \leq N), find j=1Ndis(i,j)\sum_{j=1}^{N}dis(i,j).

Here, dis(i,j)dis(i,j) denotes the minimum number of edges that must be traversed to go from Vertex ii to Vertex jj.

Constraints

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1ui<viN1 \leq u_i < v_i \leq N
  • The given graph is a tree.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN

u1u_1 v1v_1

u2u_2 v2v_2

\vdots

uN1u_{N-1} vN1v_{N-1}

Output

Print NN lines.

The ii-th line should contain j=1Ndis(i,j)\sum_{j=1}^{N}dis(i,j).

Sample Input 1

3
1 2
2 3

Sample Output 1

3
2
3

We have:

dis(1,1)+dis(1,2)+dis(1,3)=0+1+2=3dis(1,1)+dis(1,2)+dis(1,3)=0+1+2=3,

dis(2,1)+dis(2,2)+dis(2,3)=1+0+1=2dis(2,1)+dis(2,2)+dis(2,3)=1+0+1=2,

dis(3,1)+dis(3,2)+dis(3,3)=2+1+0=3dis(3,1)+dis(3,2)+dis(3,3)=2+1+0=3.

Sample Input 2

2
1 2

Sample Output 2

1
1

Sample Input 3

6
1 6
1 5
1 3
1 4
1 2

Sample Output 3

5
9
9
9
9
9

update @ 2024/3/10 09:43:57