[hdu6428]Calculate(数论 欧拉函数 莫比乌斯反演)

文章目录

题意

A , B , C ≤ 1 e 7 A,B,C\leq1e7 A,B,C1e7
∑ i = 1 A ∑ j = 1 B ∑ k = 1 C ϕ ( g c d ( i , j 2 , k 3 ) ) \sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^C \phi(gcd(i, j^2, k^3)) i=1Aj=1Bk=1Cϕ(gcd(i,j2,k3))

题解

对于这个东西,我们先想到把 p h i phi phi g c d gcd gcd 拆开。
f ( d ) f(d) f(d) 表示存在多少个 i , j , k i,j,k i,j,k 使得 d ∣ g c d ( i , j 2 , k 3 ) d|gcd(i,j^2,k^3) dgcd(i,j2,k3)
g ( d ) g(d) g(d) 表示存在多少个 i , j , k i,j,k i,j,k 使得 d = = g c d ( i , j 2 , k 3 ) d==gcd(i,j^2,k^3) d==gcd(i,j2,k3)
我们先不考虑怎么求 f , g f,g f,g

那么 a n s = ∑ g ( d ) ∗ ϕ ( d ) ans=\sum g(d)*\phi(d) ans=g(d)ϕ(d)

容易发现 f ( d ) = ∑ d ∣ k g ( k ) f(d)=\sum_{d|k}g(k) f(d)=dkg(k)
然后我们莫比乌斯一下 g ( d ) = ∑ d ∣ k μ ( k / d ) ∗ f ( k ) g(d)=\sum_{d|k}\mu(k/d)*f(k) g(d)=dkμ(k/d)f(k)

再把这个带入 a n s ans ans a n s = ∑ ϕ ( d ) ∗ ∑ d ∣ k f ( k ) ∗ μ ( k / d ) ans = \sum\phi(d)*\sum_{d|k}f(k)*\mu(k/d) ans=ϕ(d)dkf(k)μ(k/d)
= ∑ k f ( k ) ∑ d ∣ k ϕ ( d ) ∗ μ ( k / d ) = \sum_kf(k)\sum_{d|k}\phi(d)*\mu(k/d) =kf(k)dkϕ(d)μ(k/d)
两个积性函数的狄利克雷卷积还是积性函数,后面这部分可以直接线筛出来。
前面这一部分也好算 f ( k ) = A k ∗ B b [ k ] ∗ C c [ k ] f(k)=\frac{A}{k}*\frac{B}{b[k]}*\frac{C}{c[k]} f(k)=kAb[k]Bc[k]C
b[k]为最小的x使得 x ∗ x % k = = 0 x*x\%k==0 xx%k==0
c[k]同理
然后b[k],c[k]也是积性函数,线筛搞搞就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值