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 双亲数的主要内容,如果未能解决你的问题,请参考以下文章

题解Luogu P4450 双亲数

7.多关联双亲染色体片段代换系(CSSL)群体的代谢组分析

BZOJ2045双亲数 莫比乌斯反演

双亲数 容斥

BZOJ 2045: 双亲数

JZYZOJ 1375 双亲数 莫比乌斯反演