Bzoj4766: 文艺计算姬(Matrix-tree/prufer)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oi_Konnyaku/article/details/83721767

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

代码不贴了,直接快速幂+龟速乘即可

猜你喜欢

转载自blog.csdn.net/oi_Konnyaku/article/details/83721767