前言
这题算是我斯特林数的入门题,顺便安利大佬的博客,我是从这篇博客中学的斯特林数。
前置知识:
题解
k=0∑nf(k)×xk×(kn)=k=0∑n(i=0∑maiki)xk(kn)(由定义)=k=0∑n(i=0∑maij=0∑i{ij}kj)xk(kn)(由(4))=k=0∑n(j=0∑mkji=0∑jai{ij})xk(kn)(交换求和顺序)=j=0∑mqjk=j∑nxkkj(kn)(记qj=∑i=0jai{ij})=j=0∑mqjk=j∑nxknj(k−jn−j)(由(8))=j=0∑mqjxjnjk=0∑n−jxk(kn−j)(提取公因式)=j=0∑mqjxjnj(x+1)n−j(由(1))
显然 {qj} 可以在 O(m2) 的时间内预处理出来,剩下的直接套上面的式子就可以 O(mlogn) 计算。
时间复杂度为 O(m2+mlogn),空间复杂度为 O(m2)。