另一种做法:
直接考虑答案的表达式:
A n s = ∑ i = 0 n ( n i ) Q i ∑ j = 1 i j k Ans=\sum_{i=0}^n{n\choose i}Q^i\sum_{j=1}^ij^k Ans=i=0∑n(in)Qij=1∑ijk
考虑对 j j j 转下降幂,利用第二类斯特林数。
A n s = ∑ i = 0 n ( n i ) Q i ∑ j = 1 i ∑ t = 0 k S k , t ( j t ) t ! = ∑ t = 0 k t ! S k , t ∑ i = 0 n ( n i ) Q i ∑ j = 0 i ( j t ) = ∑ t = 0 k t ! S k , t ∑ i = t n ( n i ) Q i ( i + 1 t + 1 ) = ∑ t = 0 k S k , t t + 1 Q t n t ‾ ∑ i = 0 n − t ( n − t i ) ( i + t + 1 ) Q i \begin{aligned} Ans&=\sum_{i=0}^n{n\choose i}Q^i\sum_{j=1}^i\sum_{t=0}^kS_{k,t}{j\choose t}t!\\ &=\sum_{t=0}^kt!S_{k,t}\sum_{i=0}^n{n\choose i}Q^i\sum_{j=0}^i{j\choose t}\\ &=\sum_{t=0}^kt!S_{k,t}\sum_{i=t}^n{n\choose i}Q^i{i+1\choose t+1}\\ &=\sum_{t=0}^k\frac{S_{k,t}}{t+1}Q^tn^{\underline t}\sum_{i=0}^{n-t}{n-t\choose i}(i+t+1)Q^i\\ \end{aligned} Ans=i=0∑n(in)Qij=1∑it=0∑kSk,t(tj)t!=t=0∑kt!Sk,ti=0∑n(in)Qij=0∑i(tj)=t=0∑kt!Sk,ti=t∑n(in)Qi(t+1i+1)=t=0∑kt+1Sk,tQtnti=0∑n−t(in−t)(i+t+1)Qi
前面的全是常量,后面的把 i i i 和 t + 1 t+1 t+1 分开可以发现结果就是 ( t + 1 ) ( Q + 1 ) n − t + ( n − t ) Q ( Q + 1 ) n − t − 1 (t+1)(Q+1)^{n-t}+(n-t)Q(Q+1)^{n-t-1} (t+1)(Q+1)n−t+(n−t)Q(Q+1)n−t−1。
二项式反演求出第二类斯特林数即可一个log算出答案。
过程中有一个下降幂转组合数前缀和,这是二项式展开的方法不可模仿的。