莫比乌斯反演
整除分块 模板
1 for(int l=1,r;l<=n;l=r+1) 2 { 3 r=n/(n/l); 4 ans+=(r-l+1)*(n/l); 5 }
莫比乌斯函数:
莫比乌斯函数其实只是一个由容斥系数所构成的函数。
线性筛 模板
1 void get_mu(int n) 2 { 3 mu[1]=1; 4 for(int i=2;i<=n;i++) 5 { 6 if(!vis[i]){prim[++cnt]=i;mu[i]=-1;} 7 for(int j=1;j<=cnt&&prim[j]*i<=n;j++) 8 { 9 vis[prim[j]*i]=1; 10 if(i%prim[j]==0)break; 11 else mu[i*prim[j]]=-mu[i]; 12 } 13 } 14 }