#5404. [USACO23OPEN] Triples of Cows P

[USACO23OPEN] Triples of Cows P

题目描述

最初,农夫 John 的 NN 头编号为 1…N1 \dots N 的奶牛中有 N−1N-1 对朋友关系,形成一棵树。奶牛们依次离开农场去度假。在第 ii 天,第 ii 头奶牛离开农场,然后所有仍在农场中的第 ii 头奶牛的朋友之间会成为朋友。

对于每个 ii 从 11 到 NN,在第 ii 头奶牛离开之前,有多少个有序三元组 (a,b,c)(a, b, c) 满足以下条件:a,b,ca, b, c 均未离开农场,aa 与 bb 是朋友,且 bb 与 cc 是朋友?

输入格式

第一行包含 NN。

接下来的 N−1N-1 行,每行包含两个整数 uiu_i 和 viv_i,表示奶牛 uiu_i 和 viv_i 最初是朋友。

输出格式

输出 NN 行,第 ii 行表示在第 ii 头奶牛离开之前的答案。

输入输出样例 #1

输入 #1

3
1 2
2 3

输出 #1

2
0
0

输入输出样例 #2

输入 #2

4
1 2
1 3
1 4

输出 #2

6
6
0
0

输入输出样例 #3

输入 #3

5
3 5
5 1
1 4
1 2

输出 #3

8
10
2
0
0

说明/提示

对于第一个样例:

  • 在第 11 头奶牛离开之前,三元组为 (1,2,3)(1, 2, 3) 和 (3,2,1)(3, 2, 1)。
  • 在第 11 头奶牛离开后,剩下的奶牛少于 33 头,因此没有三元组。

对于第二个样例:

  • 最初,奶牛 11 与所有其他奶牛是朋友,而其他奶牛之间没有朋友关系,因此三元组为 (a,1,c)(a, 1, c),其中 a,ca, c 是 {2,3,4}\{2, 3, 4\} 中的不同奶牛,共有 3⋅2=63 \cdot 2 = 6 个三元组。
  • 在第 11 头奶牛离开后,剩下的三头奶牛彼此都是朋友,因此三元组为这三头奶牛的任意排列,共有 3!=63! = 6 个三元组。
  • 在第 22 头奶牛离开后,剩下的奶牛少于 33 头,因此没有三元组。

2≤N≤2⋅1052 \le N \le 2 \cdot 10^5,1≤ui,vi≤N1 \le u_i, v_i \le N。

  • 输入 4-5:N≤500N \le 500。
  • 输入 6-10:N≤5000N \le 5000。
  • 输入 11-20:没有额外限制。