zoukankan      html  css  js  c++  java
  • [BZOJ 3751][NOIP2014]解方程(哈希)

    Description

    已知多项式方程:

    a0+a1*x+a2*x^2+...+an*x^n=0

    求这个方程在[1,m]内的整数解(n和m均为正整数)。

    Solution

    一道很久很久以前就应该做的noip的题

    一定要放上来是要见证我人品崩坏的一下午

    生无可恋…QAQ

    题解其实也很简单啦

    随便找几个素数取模验证是不是等于0就好了

    随便

    随便

    随便

    随便找几个…素数

    在WATLEOLE间切换,最后还是抄了别人的几个素数

    怀疑人生【望天

    (BZOJ上的数据是加强了的,如果是ccf的数据那当然就随便找几个素数啦…)

    加23333保平安

    (震惊…233和23333竟然都是素数)

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    using namespace std;
    typedef long long LL;
    int prime[5]={839,233,23333,22877,19997},a[105][5];
    int n,m,cnt=0,t[1000005];
    char s[10005];
    int judge[1000005];
    int read(char* s,int p)
    {
        int x=0,f=1,i=0;
        while(s[i]<'0'||s[i]>'9'){if(s[i]=='-')f=-1;i++;}
        while(s[i]>='0'&&s[i]<='9')x=(x*10+s[i]-'0')%p,i++;
        return x*f;
    }
    int main()
    {
        scanf("%d%d",&n,&m);
        for(int i=0;i<=n;i++)
        {
            scanf("%s",s);
            for(int j=0;j<5;j++)
            a[i][j]=read(s,prime[j]);
        }
        for(int i=0;i<5;i++)
        {
            for(int j=0;j<prime[i]&&j<=m;j++)
            {
                int pow=1;LL ans=0;
                for(int k=0;k<=n;k++)
                {
                    ans+=(1LL*pow*a[k][i])%prime[i];
                    ans%=prime[i];
                    pow=(1LL*pow*j)%prime[i];
                }
                if(!ans)
                {
                    for(int k=0;k*prime[i]+j<=m;k++)
                    judge[k*prime[i]+j]++;
                }
            }
        }
        for(int i=1;i<=m;i++)
        if(judge[i]==5)t[++cnt]=i;
        printf("%d
    ",cnt);
        for(int i=1;i<=cnt;i++)
        printf("%d
    ",t[i]);
        return 0;
    }
  • 相关阅读:
    动漫评书
    Mycat高可用解决方案二(主从复制)
    Mycat高可用解决方案一(mysql安装)
    基于开源博客系统(mblog)搭建网站
    七、Docker启动tocmat 8
    Kotlin开发springboot项目(三)
    Kotlin开发springboot项目(二)
    Kotlin开发springboot项目(一)
    mybatis总结
    VUE学习总结
  • 原文地址:https://www.cnblogs.com/Zars19/p/6798909.html
Copyright © 2011-2022 走看看