P4450 双亲数
Posted dreagonm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P4450 双亲数相关的知识,希望对你有一定的参考价值。
思路
同zap-queries
莫比乌斯反演的板子
数据范围小到不用整除分块。。。
代码
#include <cstdio>
#include <algorithm>
#include <cstring>
#define int long long
using namespace std;
int mu[1010000],isprime[1010000],iprime[1010000],cnt,n,m,d;
void prime(int n){
isprime[1]=true;
mu[1]=1;
for(int i=2;i<=n;i++){
if(!isprime[i]){
iprime[++cnt]=i;
mu[i]=-1;
}
for(int j=1;j<=cnt&&iprime[j]*i<=n;j++){
isprime[iprime[j]*i]=true;
mu[iprime[j]*i]=-mu[i];
if(i%iprime[j]==0){
mu[iprime[j]*i]=0;
break;
}
}
}
}
signed main(){
prime(1000100);
scanf("%lld %lld %lld",&n,&m,&d);
if(n<m)
swap(n,m);
int ans=0;
for(int i=1;i<=n/d;i++){
ans+=mu[i]*(m/(i*d))*(n/(i*d));
}
printf("%lld
",ans);
return 0;
}
以上是关于P4450 双亲数的主要内容,如果未能解决你的问题,请参考以下文章