一个人的数论 湖北省队互测2014

[湖北省队互测2014] 一个人的数论

我必须承认我现在一点注意力都没有

题目链接: [湖北省队互测2014] 一个人的数论 。

题目描述:

给定 nn 的质因数分解方式 ∏i=1wpiai\prod\limits_{i=1}^w p_i^{a_i} ,求:

(∑i=1nik[i⊥n]) mod (109+7)(\sum_{i=1}^n i^k[i\perp n])\bmod (10^9+7)

保证 1≤w≤1031\le w \le 10^3 , 2≤pi,ai≤1092 \le p_i,a_i \le 10^9 , 1≤k≤1001\le k \le 100 。

设 F(n)=∑i=1nikF(n)=\sum\limits_{i=1}^n i^k , G(n)=∑i=1nik[i⊥n]G(n)=\sum\limits_{i=1}^n i^k[i\perp n] ,则注意到:

F(n)=∑d∣ndkG(nd)F(n)=\sum_{d\mid n}d^kG(\frac{n}{d})

即:

G(n)=∑d∣nμ(d)dkF(nd)G(n)=\sum_{d\mid n}\mu(d)d^kF(\frac{n}{d})

很显然 F(n)F(n) 可以使用拉格朗日插值得到一个等价的 k+1k+1 次的多项式,设为 ∑i=0k+1fini\sum\limits_{i=0}^{k+1} f_in^i 。则:

G(n)=∑d∣nμ(d)dkF(nd)=∑d∣nμ(d)dk∑i=0k+1fini1di=∑d∣n∑i=0k+1finidk−iμ(d)=∑i=0k+1fini∑d∣nμ(d)dk−i=∑i=0k+1fini∏j=1w∑d=0ajμ(pjd)pjd(k−i)=∑i=0k+1fini∏j=1w∑d=01μ(pjd)pjd(k−i)=∑i=0k+1fini∏j=1w(1−pjk−i)\begin{aligned} G(n)&=\sum_{d\mid n}\mu(d)d^kF(\frac{n}{d})\\ &=\sum_{d\mid n}\mu(d)d^k\sum_{i=0}^{k+1}f_in^i\frac{1}{d^i}\\ &=\sum_{d\mid n}\sum_{i=0}^{k+1}f_in^id^{k-i}\mu(d)\\ &=\sum_{i=0}^{k+1}f_in^i\sum_{d\mid n}\mu(d)d^{k-i}\\ &=\sum_{i=0}^{k+1}f_in^i\prod_{j=1}^{w}\sum_{d=0}^{a_j}\mu(p_j^d)p_j^{d(k-i)}\\ &=\sum_{i=0}^{k+1}f_in^i\prod_{j=1}^{w}\sum_{d=0}^{1}\mu(p_j^d)p_j^{d(k-i)}\\ &=\sum_{i=0}^{k+1}f_in^i\prod_{j=1}^{w}(1-p_j^{k-i}) \end{aligned}

然后模拟式子就行。