目标
求 ∑ i = 0 n i k \sum_{i=0}^ni^k i=0∑nik
前置技能
第一类斯特林数
第一类斯特林数 s ( n , m ) s(n,m) s(n,m)定义为有n个人,编号分别为1-n,排成m个循环排列的方案数。
递推式: s ( n , m ) = s ( n − 1 , m − 1 ) + ( n − 1 ) ∗ s ( n − 1 , m ) s(n,m)=s(n-1,m-1)+(n-1)*s(n-1,m) s(n,m)=s(n−1,m−1)+(n−1)∗s(n−1,m)
证明:若第n个人自己排成一个循环排列,则方案数为 s ( n − 1 , m ) s(n-1,m) s(n−1,m);若第n个人加入到原来的循环排列中,则可以放在任意一个人的左边,方案数为 ( n − 1 ) ∗ s ( n − 1 , m ) (n-1)*s(n-1,m) (n−1)∗s(n−1,m)
另一种形式
众 所 周 知 , C n k 表 示 从 n 件 物 品 中 选 出 k 件 的 方 案 数 , 众所周知,C_n^k表示从n件物品中选出k件的方案数, 众所周知,Cnk表示从n件物品中选出k件的方案数,P_n^k 表 示 从 n 件 物 品 中 选 出 k 个 排 列 的 方 案 数 表示从n件物品中选出k个排列的方案数 表示从n件物品中选出k个排列的方案数
显然有 C n k = P n k k ! C_n^k=\frac{P_n^k}{k!} Cnk=k!Pnk
根据定义我们可以得到 P n k = n ∗ ( n − 1 ) ∗ . . . ∗ ( n − k + 1 ) P_n^k=n*(n-1)*...*(n-k+1) Pnk=n∗(n−1)∗...∗(n−k+1)
展开后可得 P n k = S ( k , k ) ∗ n k − S ( k , k − 1 ) ∗ n k − 1 . . . P_n^k=S(k,k)*n^k-S(k,k-1)*n^{k-1}...