atcoder#ARC087D. [ARC087F] Squirrel Migration

[ARC087F] Squirrel Migration

题目描述

N N 頂点の木があります。 頂点には 1 1 から N N まで番号が振られています。 i i (1  i  N  1 1\ \leq\ i\ \leq\ N\ -\ 1 ) 番目の辺は頂点 xi x_i yi y_i を結んでいます。 頂点 v v , w w (1  v, w  N 1\ \leq\ v,\ w\ \leq\ N ) について、v v , w w 間の距離 d(v, w) d(v,\ w) を「パス v v -w w に含まれる辺の本数」と定義します。

木の各頂点にはリスが 1 1 匹ずつ住んでいます。 リスたちは次のようにして引っ越しをすることにしました。 まず、(1, 2, ..., N) (1,\ 2,\ ...,\ N) の順列 p = (p1, p2, ..., pN) p\ =\ (p_1,\ p_2,\ ...,\ p_N) を自由にひとつ選びます。 その後、各 1  i  N 1\ \leq\ i\ \leq\ N について、頂点 i i に住んでいたリスは頂点 pi p_i へ引っ越します。

リスたちは移動が好きなので、各リスの移動距離の総和が最大になるように引っ越しをすることにしました。 すなわち、d(1, p1) + d(2, p2) + ... + d(N, pN) d(1,\ p_1)\ +\ d(2,\ p_2)\ +\ ...\ +\ d(N,\ p_N) が最大になるように p p を選ぶことにしました。 このような p p の選び方は何通りあるでしょうか? 109 + 7 10^9\ +\ 7 で割った余りを求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N x1 x_1 y1 y_1 x2 x_2 y2 y_2 : : xN  1 x_{N\ -\ 1} yN  1 y_{N\ -\ 1}

输出格式

条件を満たすような p p の選び方は何通りあるか? 109 + 7 10^9\ +\ 7 で割った余りを求めよ。

题目大意

给你一个NN个节点的树,求一个1N1\cdots N的排列(p1,p2,pN)(p_1,p_2,\cdots p_N) ,使得dist(i,pi)\sum dist(i,p_i)最大。

求这样的排列的个数。答案对109+710^9+7取模。

3
1 2
2 3
3
4
1 2
1 3
1 4
11
6
1 2
1 3
1 4
2 5
2 6
36
7
1 2
6 3
4 5
1 7
1 5
2 3
396

提示

制約

  • 2  N  5,000 2\ \leq\ N\ \leq\ 5,000
  • 1  xi, yi  N 1\ \leq\ x_i,\ y_i\ \leq\ N
  • 入力のグラフは木である。

Sample Explanation 1

各リスの移動距離の総和の最大値は 4 4 です。 条件を満たす p p は次の 3 3 通りです。 - (2, 3, 1) (2,\ 3,\ 1) - (3, 1, 2) (3,\ 1,\ 2) - (3, 2, 1) (3,\ 2,\ 1)

Sample Explanation 2

各リスの移動距離の総和の最大値は 6 6 です。 例えば、p = (2, 1, 4, 3) p\ =\ (2,\ 1,\ 4,\ 3) は条件を満たします。