莫比乌斯反演例题

整除分块

当运算中有上取整或下取整的时候,用整除分块可以优化复杂度哦(当然,莫比乌斯反演最明显)
经典例题:
(莫比乌斯一大堆,都在下面了)
C F    1603 C    E x t r e m e    E x t e n s i o n CF\;1603C\; Extreme\; Extension CF1603CExtremeExtension

例题

尽量把一些典型的写出来,莫比乌斯还是多写写公式好

[NOI2010day1]T1-能量采集

∑ i = 1 n ∑ j = 1 m 2 × g c d ( i , j ) − 1 \sum_{i=1}^n\sum_{j=1}^m2×gcd(i,j)−1 i=1nj=1m2×gcd(i,j)1

那么只需要处理 ∑ i = 1 n ∑ j = 1 m g c d ( i , j ) \sum_{i=1}^n\sum_{j=1}^mgcd(i,j) i=1nj=1mgcd(i,j)

= ∑ d = 1 n d ∑ d ∣ i ∑ d ∣ j [ g c d ( i , j ) = 1 ] =\sum_{d=1}^nd\sum_{d|i}\sum_{d|j}[gcd(i,j)=1] =d=1nddidj[gcd(i,j)=1]

= ∑ k = 1 n ∑ d = 1 ⌊ n d ⌋ d ∑ i = 1 ⌊ n k d ⌋ ∑ j = 1 ⌊ m k d ⌋ μ ( k ) =\sum_{k=1}^n\sum_{d=1}^{\lfloor \frac{n}{d} \rfloor}d\sum_{i=1}^{\lfloor \frac{n}{kd} \rfloor}\sum_{j=1}^{\lfloor \frac{m}{kd} \rfloor}\mu(k) =k=1nd=1dndi=1kdnj=1kdmμ(k)

= ∑ k = 1 n μ ( k ) ∑ d = 1 ⌊ n d ⌋ d ⌊ n k d ⌋ ⌊ m k d ⌋ =\sum_{k=1}^n\mu(k)\sum_{d=1}^{\lfloor \frac{n}{d} \rfloor}d\lfloor \frac{n}{kd} \rfloor\lfloor \frac{m}{kd} \rfloor =k=1nμ(k)d=1dndkdnkdm

k d = x kd=x kd=x

则 原式 = ∑ x = 1 n ⌊ n x ⌋ ⌊ m x ⌋ ∑ d ∣ x μ ( x d ) d =\sum_{x=1}^n\lfloor \frac{n}{x} \rfloor\lfloor \frac{m}{x} \rfloor\sum_{d|x}\mu(\frac{x}{d})d =x=1nxnxmdxμ(dx)d

则对于每一个x,去枚举每一个k进行预处理(因为这样可以直接把 μ = 0 \mu=0 μ=0的情况判掉),最后用整除分块求解

for(int k=1;k<=x;k++) 
{
   
	if(!mu[k]) continue;
	for(int X=k;X<=x;X+=k) F[X]+=mu[k]*(X/k);
}
for(int i=1;i<=x;i++) F[i]+=F[i-1];

for(int l=1,r;l<=n;l=r+1)
{
   
	r=min(n/(n/l),m/(m/l));
	ans+=(F[r]-F[l-1])*(n/l)*(m/l);
}

B Z O J 2820    Y Y 的 G C D BZOJ2820 \;YY的GCD BZOJ2820YYGCD

与上一题差别不大,把枚举每个 d d d改成枚举每个质数即可

[SDOI2015] 约数个数和

首先声明这个函数的一个性质:

d ( i j ) = ∑ x ∣ i ∑ y ∣ j [ g c d ( x , y ) = 1 ] d(ij)=\sum_{x|i}\sum_{y|j}[gcd(x,y)=1] d(ij)=xiyj[gcd(x,y

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值