1. 程式人生 > >Bzoj4766: 文藝計算姬(Matrix-tree/prufer)

Bzoj4766: 文藝計算姬(Matrix-tree/prufer)

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

程式碼不貼了,直接快速冪+龜速乘即可