Description
给下N,M,K.求
Input
输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示。
Output
如题
Sample Input
1 2
3 3
Sample Output
20
HINT
1<=N,M,K<=5000000,1<=T<=2000
题解:
(建议调一下缩放,博客园的数学公式正常缩放看起来比较恶心……)
$ans=\sum_{i=1}^{n}\sum_{j=1}^{m}\gcd(i,j)^{k}$
$=\sum_{d=1}^{n}d^{k}\sum_{i=1}^{\lfloor \frac{n}{d} \rfloor}\sum_{j=1}^{\lfloor \frac{m}{d} \rfloor}[\gcd(i,j)==1]$
$=\sum_{d=1}^{n} d^{k}\sum_{k=1}^{\lfloor \frac{n}{d} \rfloor}\mu(k)\lfloor\frac{n}{kd}\rfloor\lfloor\frac{m}{kd}\rfloor$
$=\sum_{T=1}^{n}\lfloor \frac{n}{T}\rfloor\lfloor \frac{m}{T}\rfloor\sum_{d|T}\mu(\frac{T}{d})d^{k}$
再设:$g(T)=\sum_{d|T}\mu(\frac{T}{d})d^{k}$
当T是质数时
$g(T)=T^{k}-1$
当i与p互质时
$g(i*p)=g(i)*g(p)$
当i与p不互质时
$g(i*p)=g(i)*p^{k}$
然后分块+线筛即可
时间: 2024-11-06 11:18:48