P4449 于神之怒加强版

题目大意:


\[\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{m}gcd(i,j)^k\]

首先很套路地推出
\[ret=\sum\limits_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{t|T}t^k\mu(\frac{T}{t})\]
然后我们发现,前面直接除法分块就好了,关键是后面怎么办

我们设
\[f(T)=\sum\limits_{t|T}t^k\mu(\frac{T}{t})\]
很容易发现,它是一个积性函数可以线性筛,关键在于处理\(prime|i\)的情况

考虑莫比乌斯函数性质:对于\(T\)的某个质因子\(p\)的最高次\(p^x\),有贡献的部分其实只有当\(t=p^x\)\(t=p^{x-1}\)时,因为其他情况下\(\mu\)的值都为\(0\)

所以质因子\(p\)对答案的贡献是\((p^{kx}-p^{k*(x-1)})*others\)

提出\(p^{k*(x-1)}\)得到\((p^k-1)*p^{k*(x-1)}*others\)

类比推出对于\(p\)最高次为\(p^{x-1}\)的某个数字,其贡献为\((p^k-1)*p^{k*(x-2)}*others\)

所以得出:当\(prime|i\)时,\(f(i*prime)=f(i)*prime^k\)

然后就可以线性筛预处理,除法分块回答啦(・∀・)

你可能感兴趣的:(P4449 于神之怒加强版)