P9194 [USACO23OPEN] Triples of Cows P

题目描述

最初,农夫 John 的 $N$ 头编号为 $1 \dots N$ 的奶牛中有 $N-1$ 对朋友关系,形成一棵树。奶牛们依次离开农场去度假。在第 $i$ 天,第 $i$ 头奶牛离开农场,然后所有仍在农场中的第 $i$ 头奶牛的朋友之间会成为朋友。 对于每个 $i$ 从 $1$ 到 $N$,在第 $i$ 头奶牛离开之前,有多少个有序三元组 $(a, b, c)$ 满足以下条件:$a, b, c$ 均未离开农场,$a$ 与 $b$ 是朋友,且 $b$ 与 $c$ 是朋友?

输入格式

第一行包含 $N$。 接下来的 $N-1$ 行,每行包含两个整数 $u_i$ 和 $v_i$,表示奶牛 $u_i$ 和 $v_i$ 最初是朋友。

输出格式

输出 $N$ 行,第 $i$ 行表示在第 $i$ 头奶牛离开之前的答案。

说明/提示

对于第一个样例: - 在第 $1$ 头奶牛离开之前,三元组为 $(1, 2, 3)$ 和 $(3, 2, 1)$。 - 在第 $1$ 头奶牛离开后,剩下的奶牛少于 $3$ 头,因此没有三元组。 对于第二个样例: - 最初,奶牛 $1$ 与所有其他奶牛是朋友,而其他奶牛之间没有朋友关系,因此三元组为 $(a, 1, c)$,其中 $a, c$ 是 $\{2, 3, 4\}$ 中的不同奶牛,共有 $3 \cdot 2 = 6$ 个三元组。 - 在第 $1$ 头奶牛离开后,剩下的三头奶牛彼此都是朋友,因此三元组为这三头奶牛的任意排列,共有 $3! = 6$ 个三元组。 - 在第 $2$ 头奶牛离开后,剩下的奶牛少于 $3$ 头,因此没有三元组。 $2 \le N \le 2 \cdot 10^5$,$1 \le u_i, v_i \le N$。 - 输入 4-5:$N \le 500$。 - 输入 6-10:$N \le 5000$。 - 输入 11-20:没有额外限制。