AT_arc087_d [ARC087F] Squirrel Migration

题目描述

有一棵包含 $N$ 个顶点的树。顶点编号为 $1$ 到 $N$。第 $i$ 条边连接顶点 $x_i$ 和 $y_i$($1 \leq i \leq N-1$)。对于顶点 $v$ 和 $w$($1 \leq v, w \leq N$),$v$ 和 $w$ 之间的距离 $d(v, w)$ 定义为“从 $v$ 到 $w$ 的路径上包含的边的数目”。 每个顶点上住着一只松鼠。松鼠们决定搬家,搬家的方案如下:首先任选一个 $1$ 到 $N$ 的排列 $p = (p_1, p_2, \dots, p_N)$。然后,对于每个 $1 \leq i \leq N$,原本住在顶点 $i$ 的松鼠要搬到顶点 $p_i$。 松鼠们喜欢移动,因此想让所有松鼠的移动距离之和最大。即,选择排列 $p$,使 $d(1,p_1) + d(2,p_2) + \cdots + d(N,p_N)$ 最大。求能够达到这个最大总距离的排列 $p$ 的方案数,结果对 $10^9+7$ 取模。

输入格式

输入通过标准输入给出,格式如下: > $N$ > $x_1$ $y_1$ > $x_2$ $y_2$ > $\cdots$ > $x_{N-1}$ $y_{N-1}$

输出格式

输出满足条件的排列 $p$ 的方案数,对 $10^9+7$ 取模。

说明/提示

## 限制 - $2 \leq N \leq 5,000$ - $1 \leq x_i, y_i \leq N$ - 输入的图保证是一棵树。 ## 样例解释 1 所有松鼠的移动距离之和的最大值是 $4$。满足条件的排列 $p$ 有以下 $3$ 种: - $ (2, 3, 1) $ - $ (3, 1, 2) $ - $ (3, 2, 1) $ ## 样例解释 2 所有松鼠的移动距离之和的最大值是 $6$。例如 $p = (2, 1, 4, 3)$ 满足条件。 由 ChatGPT 5 翻译