zoukankan      html  css  js  c++  java
  • P2312 解方程

    P2312 解方程

    感谢pks的卡常


    对于一个高于3次的一元方程,是没有求根公式的

    但对于信奥的来说,可以枚举解来进行检验数学奥赛

    性能的瓶颈就成了检验

    我们可以利用秦九韶来进行加快检验

    #include<cstdio>
    #include<iostream>
    using namespace std;
    long long a[500000];
    const long long RQY=1e9+7;
    long long cnt,ans[1000100];
    long long n,m;
    inline long long read() 
    {
        long long s=1,w=0;
        char in=getchar();
        while(in<'0'||in>'9')
        {
            if(in=='-')
                s=-1;
            in=getchar();
        }
        while(in>='0'&&in<='9')
        {
            w=(w<<1)+(w<<3)+in-'0';
            w=w%RQY;
            in=getchar();
        }
        return s*w;
    }
    inline bool calc(long long ans)
    {
        long long sum=0;
        for(register int i=n;i>=1;i--)
            sum=(ans*(sum+a[i]))%RQY;
        sum=(sum+a[0])%RQY;
        return !sum;
    }
    int main()
    {
        //scanf("%d%d",&n,&m);
        n=read();
        m=read();
        for(register int i=0;i<=n;i++)
            //scanf("%d",&a[i]);
            a[i]=read();
        for(register int i=1;i<=m;i++)
        {
            if(calc(i))//枚举解
                ans[++cnt]=i;
        }
        printf("%d
    ",cnt);
        for(register int i=1;i<=cnt;i++)
            printf("%d
    ",ans[i]);
        return 0;
    }
    
  • 相关阅读:
    POI2014 洛谷P3574 FarmCraft 题解
    JZOJ 3468 OSU!题解
    sublime配置C++编译环境
    本地配置gitee
    数论基础
    HDU
    HDU-3033 I love sneakers! 题解
    HDU-4341 Gold miner 题解
    HDU
    MyBatis框架及原理分析
  • 原文地址:https://www.cnblogs.com/Lance1ot/p/8797719.html
Copyright © 2011-2022 走看看