1. 程式人生 > >bzoj5093 [Lydsy1711月賽]圖的價值 NTT+第二類stirling數

bzoj5093 [Lydsy1711月賽]圖的價值 NTT+第二類stirling數

Description


“簡單無向圖”是指無重邊、無自環的無向圖(不一定連通)。
一個帶標號的圖的價值定義為每個點度數的k次方的和。
給定n和k,請計算所有n個點的帶標號的簡單無向圖的價值之和。
因為答案很大,請對 998244353 998244353​ 取模輸出。

第一行包含兩個正整數 n

, k ( 1 n 1 0 9
, 1 k 200000 ) n,k(1\le n\le 10^9,1\le k\le 200000)

Solution


注意到每個點的貢獻都是一樣的,我們只需要列舉每個點的度數單獨考慮就行了
a n s = n 2 ( n 1 2 ) i = 0 n ( n 1 i ) ans=n\cdot{2}^{\binom{n-1}{2}}\sum\limits_{i=0}^{n}\binom{n-1}{i}​
然後就是非常套路的 i k = j = 0 k { k j } ( i j ) j ! i^k=\sum\limits_{j=0}^k \begin{Bmatrix}k\\j\end{Bmatrix}\binom{i}{j}j!​
帶進去就是 a n s = n 2 ( n 1 2 ) i = 0 n 1 ( n 1 i ) j = 0 i ( i j ) { k j } j ! ans=n\cdot{2}^{\binom{n-1}{2}}\sum\limits_{i=0}^{n-1}\binom{n-1}{i}\sum\limits_{j=0}^{i}\binom{i}{j}\begin{Bmatrix}k\\j\end{Bmatrix}j!​

交換列舉順序 a n s = n 2 ( n 1 2 ) j = 0 n 1 { k j } j ! i = j n 1 ( n 1 i ) ( i j ) ans=n\cdot{2}^{\binom{n-1}{2}}\sum\limits_{j=0}^{n-1}\begin{Bmatrix}k\\j\end{Bmatrix}j!\sum\limits_{i=j}^{n-1}\binom{n-1}{i}\binom{i}{j}​

然後有等柿 j = 0 n 1 i = j n 1 ( n 1 i ) ( i j ) = j = 0 n 1 i = j n 1 ( n 1 j ) ( n j 1 i j ) = j = 0 n 1 ( n 1 j ) i = j n 1 ( n j 1 i j ) = j = 0 n 1 ( n 1 j ) 2 n j 1 \sum\limits_{j=0}^{n-1}\sum\limits_{i=j}^{n-1}\binom{n-1}{i}\binom{i}{j}=\sum\limits_{j=0}^{n-1}\sum\limits_{i=j}^{n-1}\binom{n-1}{j}\binom{n-j-1}{i-j}=\sum\limits_{j=0}^{n-1}\binom{n-1}{j}\sum\limits_{i=j}^{n-1}\binom{n-j-1}{i-j}=\sum\limits_{j=0}^{n-1}\binom{n-1}{j}2^{n-j-1}

為什麼呢?兩個組合數相乘的意義等價於從 n 1 n-1 箇中直接取出 j j 個,剩餘 i j i-j