zoukankan      html  css  js  c++  java
  • p1863

    本题的那个操作可以想到相当于把自己的一个质因数给了别人.

    那么既然大家的质因数可以共享,不如我们先给同一个人,然后再均分.均分后的那个数就是调整完的最大公约数.

    那么本题的策略就有了,找到所有数的所有质因子与质数和,答案是∏prime[i]^(⌊sum[prime[i]]/n⌋);

    做第二问的时候可以查看所有数的答案包含的那个质因子的指数是多少,如果少了当然要别人送来,多了不一定需要给别人.23333.总之统计比平均少多少就好.

    using namespace std;
    int quick(int a,int b)//a^b
    {
        int ans=1;
        while(b>0)
        {
            if(b%2==1) ans=ans*a;
            b=b/2;a=a*a;
        }
        return ans;
    }
    int i,f,t;
    int n;
    int v[1000010],prime[80000];
    int sum,o[110][80000],a[110][80000],ans;
    int main()
    {
    //freopen("123.in","r",stdin);
    //freopen("123.out","w",stdout);
        n=1000000;
        for(i=2;i<=n;i++)
        {
            if(v[i]==0)
            {
                sum++;
                v[i]=i;
                prime[sum]=i;
            }
            for(f=1;f<=sum;f++)
            {
                if(prime[f]>v[i]||prime[f]>n/i)break;
                v[i*prime[f]]=prime[f];
            }
        }
        memset(v,0,sizeof(v));
        for(n=read(),i=1;i<=n;i++)
        {
            
            t=read();
            for(f=1;f<=sum&&t>=prime[f];f++)
            {
                if(t%prime[f]==0)
                {
                    while(t%prime[f]==0)
                    {
                        a[i][f]++;
                        v[f]++;
                        t=t/prime[f];
                    }
                }
            }
        }
        ans=1;
        for(i=1;i<=sum;i++)
        {
            v[i]=v[i]/n;
            if(v[i]!=0)
                ans=ans*quick(prime[i],v[i]);
        }
        write(ans);
        ans=0;
        for(i=1;i<=n;i++)
        {
            for(f=1;f<=sum;f++)
                if(v[f]>a[i][f])
                    ans+=v[f]-a[i][f];
        }
        cout<<ans;
    }
  • 相关阅读:
    win10打开相机提示我们找不到你的相机
    Potplay视频播放画面扭曲
    SIFT特征匹配算法介绍
    SelectiveSearchCodeIJCV遇到First two input arguments should have the same 2D dimension
    mybatis逆向工程mvn插件
    ssm配置
    springmvc配置
    MyBatis如何禁用掉一级缓存
    Mybatis中#{}和${}的区别
    Java demo之IO
  • 原文地址:https://www.cnblogs.com/qywyt/p/9745674.html
Copyright © 2011-2022 走看看