DZY Loves Math
对于正整数 $n$,定义 $f(n)$ 为 $n$ 所含质因子的最大幂指数。
例如 $f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007)=1, f(1)=0$
给定正整数 $a,b$,求 $ sum_{i=1..a} sum_{j=1..b} {f(gcd(i,j))}$。
Sol
根据莫比乌斯反演可以得出
$ sum_{i=1..a} sum_{j=1..b} {f(gcd(i,j))}$
=$sum_{d} g[d] lfloor n/d floor lfloor m/d floor $
其中 $g[d]=sum_{d} mu[d]*f[n/d]$
后面整数分块,主要问题再求g
我们假设当前求g[x].
先考虑所有质因子次数都是一样的c,那么f[n/d]只有c和c-1两种取值,其中c-1仅在所有质因子出现一次时取到。
那么这时的答案是
-1 n有奇数个质因子
1 n有偶数个质因子
0 n=1
如果x的所有质因子的有任意一对次数不一样,那么g[x]=0.
因为如果次数<Max的质因子,那么这些质因子在乘莫比乌斯系数是贡献是0,也就是在最外面乘了0
考虑怎么判断一个数的质因子次数是不是都一样
记a[x]表示x的最小质因子,b[x]表示a[x]的次数。
转移时类似dp