zoukankan      html  css  js  c++  java
  • 【JZOJ4831】【NOIP2016提高A组集训第3场10.31】方程式

    题目描述

    这里写图片描述

    数据范围

    这里写图片描述

    解法

    枚举根之后,使用大除法。

    代码

    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    #include<math.h>
    #include<algorithm>
    #define ll long long
    using namespace std;
    const char* fin="equation.in";
    const char* fout="equation.out";
    const ll inf=0x7fffffff;
    const ll maxn=23,maxm=1007,maxa=20;
    ll n,i,j,k;
    ll qpower(ll a,ll b){
        ll c=1;
        while (b){
            if (b&1) c=c*a;
            a=a*a;
            b>>=1;
        }
        return c;
    }
    struct eq{
        ll data[maxn],num;
        bool count(ll v){
            ll i,j,k=0;
            for (i=0;i<=num;i++){
                k+=data[i]*qpower(v,i);
            }
            return k==0;
        }
        void operator /=(const ll &v){
            ll i,j,k;
            for (i=num;i;i--){
                data[i-1]-=v*data[i];
            }
            for (i=0;i<num;i++) data[i]=data[i+1];
            num--;
        }
    }a;
    int main(){
        freopen(fin,"r",stdin);
        freopen(fout,"w",stdout);
        scanf("%lld",&n);
        a.num=n;
        for (i=0;i<=n;i++) scanf("%lld",&a.data[i]);
        for (i=1;i<=maxa;i++){
            while (a.count(i)) {
                printf("%lld ",i);
                a/=-i;
            }
        }
        return 0;
    }
  • 相关阅读:
    学习进度14
    学习进度13
    学习进度12
    2020.12.01 表单元素
    2020.12.02 表单属性
    2020.12.04
    2020.12.06
    2020.12.07
    2020.12.08 URL
    2020.12.09
  • 原文地址:https://www.cnblogs.com/hiweibolu/p/6714860.html
Copyright © 2011-2022 走看看