2 条题解

  • 0
    @ 2025-12-18 15:35:47
    #include<bits/stdc++.h>
    #define LL __int128
    using namespace std;
    const int N=1e7;
    int pr, p[N+10];LL mu[N+10]; bool v[N+10];
    void init()
    {
        memset(v,0,sizeof(v));
        pr=0;mu[0]=0;mu[1]=1;
        for(int i=2;i<=N;i++)
        {
            if(!v[i]) p[++pr]=i, mu[i]=-1; 
            for(int j=1;j<=pr&&p[j]*i<=N;j++)
            {
                v[i*p[j]]=true;
                if(i%p[j]==0){mu[i*p[j]]=0;break;}
                mu[i*p[j]]=-mu[i];
            }
        }
        for(int i=1;i<=N;i++) mu[i]+=mu[i-1];
    }
     
    LL calc(int a,int b,int c)
    {
        int n=min({a,b,c});
        LL ans=0;
        for(int l=1,r;l<=n;l=r+1)
        {
            r=min({a/(a/l), b/(b/l),c/(c/l)});
            ans+=(mu[r]-mu[l-1])*(a/l)*(b/l)*(c/l);
        }
        return ans;
    }
    void qr(LL x)
    {
        if(x>9)qr(x/10);
        printf("%d",int(x%10));
    }
    int main()
    {
        init();
        int a,b,c;
        while(scanf("%d%d%d",&a,&b,&c)!=EOF)
        {
            qr(calc(a,b,c));
            printf("\n");
        }
        return 0;
    }
    
    • -1
      @ 2025-12-24 12:59:57

      阎帝的看法

      这道题中一条视线(射线)中第一个长方形上的点的x,y,z一定互质,因为一条射线是一条正比例函数(你问我解析式?我不会),往后的点必是第一个点的x,y,z等比例放大得到的,不互质

    • 1

    *【莫比乌斯反演】三维空间可见点数1[scy]+题解

    信息

    ID
    507
    时间
    1000ms
    内存
    512MiB
    难度
    6
    标签
    递交数
    115
    已通过
    31
    上传者