BZOJ
答案就是
n
m
−
1
m
n
−
1
n^{m-1}m^{n-1}
nm−1mn−1
p
r
u
f
e
r
prufer
prufer 证明:
n
n
n 中的数字出现
m
−
1
m-1
m−1 次,
m
m
m 中出现
n
−
1
n-1
n−1 次,根据
p
r
u
f
e
r
prufer
prufer 解码可知,
n
,
m
n,m
n,m 中的数字和内部顺序确定了,那么它们的相对位置也可以确定
m
a
t
r
i
x
−
t
r
e
e
matrix-tree
matrix−tree 证明:
构建基尔霍夫矩阵,去掉第一行第一列,发现分成四个部分
左上角
(
n
−
1
)
×
(
n
−
1
)
(n-1)\times (n-1)
(n−1)×(n−1),主对角线为
m
m
m,其余为
0
0
0
右下角
m
×
m
m\times m
m×m,主对角线为
n
n
n,其余为
0
0
0
左下右上都是
−
1
-1
−1
手动求行列式
把第
n
n
n 行加上前
n
−
1
n-1
n−1 行,变成
m
−
1
,
m
−
1
,
.
.
.
,
m
−
1
,
1
,
1
−
n
,
1
−
n
,
.
.
.
,
1
−
n
m-1,m-1,...,m-1,1,1-n,1-n,...,1-n
m−1,m−1,...,m−1,1,1−n,1−n,...,1−n
再加上后
m
−
1
m-1
m−1 行,变成
0
,
0
,
.
.
.
,
0
,
1
,
1
,
1
,
.
.
.
,
1
0,0,...,0,1,1,1,...,1
0,0,...,0,1,1,1,...,1
依次加到前
n
−
1
n-1
n−1 行中,变成了下三角
对角线上有
1
1
1 个
1
1
1,
n
−
1
n-1
n−1 个
m
m
m,
m
−
1
m-1
m−1 个
n
n
n
代码不贴了,直接快速幂+龟速乘即可