【BZOJ 3601】一个人的数论

题目

\(\sum_{i=1}^n[(i,n)=1]i^m\)\(n\)非常大,以质因数分解后的形式给出。

随手反演一波,上面那个式子就是

\[\sum_{d|n}\mu(d)\sum_{i=1}^{\frac{n}{d}}(i\times d)^m=\sum_{d|n}\mu(d)d^m\sum_{i=1}^{\frac{n}{d}}i^m\]

我们发现这有一个自然数幂次方和,众所周知这是一个\(m+1\)多项式,我们可以把系数插出来,之后变成了

\[\sum_{d|n}\mu(d)d^m\sum_{i=0}^{m+1}f_i(\frac{n}{d})^i=\sum_{i=0}^{m+1}f_i\sum_{d|n}\mu(d)d^m(\frac{n}{d})^i\]

不妨设\(g(n,i)=\sum_{d|n}\mu(d)d^m(\frac{n}{d})^i=n^i\sum_{d|n}\mu(d)d^{m-i}\),这显然是一个积性函数;于是每个质因子是独立的,正好给出了\(n\)的分解式,于是算一下每个质数次幂的值就好了;

\(g(p^a,i)=p^a\sum_{j=0}^a(-1)^jp^{j(m-i)}\),是一个首项为\(1\),公比为\((-1)p^{m-i}\),共\(a+1\)项的等比数列,于是\(g(p^a,i)=p^a\frac{1-[(-1)p^{m-i}]^{a+1}}{1+p^{m-i}}\)

代码先鸽了

猜你喜欢

转载自www.cnblogs.com/asuldb/p/12264116.html
今日推荐