3751: [NOIP2014]解方程

题目连接:

http://www.lydsy.com/JudgeOnline/problem.php?id=3751

Description

已知多项式方程:

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

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

Input

第一行包含2个整数n、m,每两个整数之间用一个空格隔开。

接下来的n+1行每行包含一个整数,依次为a0,a1,a2,...,an。

Output

第一行输出方程在[1,m]内的整数解的个数。

接下来每行一个整数,按照从小到大的顺序依次输出方程在[1,m]内的一个整数解。

Sample Input

2 10

2

-3

1

Sample Output

2

1

2

Hint

对于100%的数据,0<n≤100,|ai|≤1010000,an≠0,m≤1000000。

题意

题解:

找6个10000左右的素数,然后把这个素数范围内的数拿去测试就好了

因为 (a % p) = (a+p % p),所以a不合适,那么a+p肯定也是不合适的。

于是用这个方法去xjb筛一波就好了。

代码

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int maxn = 105;
  4. const int N = 1e6+6;
  5. int p[10]={19997,22877,14843,10007,11261,21893};
  6. char s[105][10005];
  7. int flag[N];
  8. int a[maxn],n,m,len[maxn];
  9. int main(){
  10. scanf("%d%d",&n,&m);
  11. for(int i=0;i<=n;i++)
  12. scanf("%s",s[i]);
  13. for(int i=0;i<=n;i++)
  14. len[i]=strlen(s[i]);
  15. for(int o=0;o<6;o++){
  16. for(int i=0;i<=n;i++){
  17. int flag = (s[i][0]=='-')?1:0;
  18. a[i]=0;
  19. for(int j=flag;j<len[i];j++){
  20. a[i]=(a[i]*10+(s[i][j]-'0'))%p[o];
  21. }
  22. if(flag)a[i]=-a[i];
  23. }
  24. for(int i=1;i<=p[o];i++){
  25. int tmp=0;
  26. for(int j=n;j>=0;j--)
  27. tmp=(tmp*i+a[j])%p[o];
  28. if(tmp)for(int j=0;i+j*p[o]<=m;j++)
  29. flag[i+j*p[o]]=1;
  30. }
  31. }
  32. int ans = 0;
  33. for(int i=1;i<=m;i++)if(!flag[i])ans++;
  34. cout<<ans<<endl;
  35. for(int i=1;i<=m;i++)
  36. if(!flag[i])
  37. cout<<i<<endl;
  38. }

BZOJ 3751: [NOIP2014]解方程 数学的更多相关文章

  1. bzoj 3751: [NOIP2014]解方程 同余系枚举

    3.解方程(equation.cpp/c/pas)[问题描述]已知多项式方程:a ! + a ! x + a ! x ! + ⋯ + a ! x ! = 0求这个方程在[1, m]内的整数解(n 和 ...

  2. bzoj 3751: [NOIP2014]解方程【数学】

    --我真是太非了,自己搞了7个质数都WA,从别人那粘5个质数就A了-- 就是直接枚举解,用裴蜀定理计算是否符合要求,因为这里显然结果很大,所以我们对多个质数取模看最后是不是都为0 #include&l ...

  3. bzoj 3751: [NOIP2014]解方程

    Description 已知多项式方程: a0+a1x+a2x^2+...+an*x^n=0 求这个方程在[1,m]内的整数解(n和m均为正整数). 解题报告: 这题比较诡,看到高精度做不了,就要想到 ...

  4. 【BZOJ】3751: [NOIP2014]解方程【秦九韶公式】【大整数取模技巧】

    3751: [NOIP2014]解方程 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 4856  Solved: 983[Submit][Status ...

  5. 【BZOJ】3751: [NOIP2014]解方程

    题意 求\(\sum_{i=0}^{n} a_i x^i = 0\)在\([1, m]\)内的整数解.(\(0 < n \le 100, |a_i| \le 10^{10000}, a_n \n ...

  6. [BZOJ3751] [NOIP2014] 解方程 (数学)

    Description 已知多项式方程:$a_0+a_1*x+a_2*x^2+...+a_n*x^n=0$ 求这个方程在[1,m]内的整数解(n和m均为正整数). Input 第一行包含2个整数n.m ...

  7. [BZOJ3751][NOIP2014]解方程(数学相关+乱搞)

    题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入输出格式 输入格式: 输入文件名为equation .i ...

  8. LOJ2503 NOIP2014 解方程 【HASH】

    LOJ2503 NOIP2014 解方程 LINK 题目大意就是给你一个方程,让你求[1,m]中的解,其中系数非常大 看到是提高T3还是解方程就以为是神仙数学题 后来研究了一下高精之类的算法发现过不了 ...

  9. [NOIP2014]解方程

    3732 解方程  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Description 输入描述 Input Descrip ...

随机推荐

  1. python网络编程--事件驱动模型

    论事件驱动与异步IO 事件驱动模型:根据事件的触发去干什么事,就是根据一个事件做反应 原文:http://www.cnblogs.com/alex3714/articles/5248247.html常 ...

  2. java基础25 线程的常用方法、线程安全问题、死锁现象

    一.线程的常用方法 1.Thread(String name):初始化线程的名字2. setName(String name):设置线程的名字3. getName():返回线程的名字4. sleep( ...

  3. Centos7.3安装和配置jre1.8

    在正式环境里 我们可以不安装jdk ,仅仅安装Java运行环境 jre即可: 第一步:下载jre 我们去oracle官方下载下jre http://www.oracle.com/technetwork ...

  4. 2017 MoveIt!更新 ros indigo

    First MoveIt! Update in 2017. Using it on NEXTAGE pt.1 2017 MoveIt! update pt.2; Stopping motion on ...

  5. Jenkins 集成 Sonar

    Jenkins 与 Sonar 集成:Sonar 是 Jenkins 之外独立运行的一个服务.Jenkins 中安装插件 SonarQube(并配置其 Sonar Server 的 URL / Acc ...

  6. spark集群安装[转]

    [转]http://sofar.blog.51cto.com/353572/1352713 ====================================================== ...

  7. 一步一步学习IdentityServer3 (5)

    这篇文章介绍下数据持久化问题,官方例子可能都是缓存数据 Client  User Scope 下面介绍下怎么使用数据库持久化 这里需要导入nuget包 :IdentityServer3.EntityF ...

  8. C#和PHP 长整型时间互转

    //2018/5/14 16:03:05转换:1526284985 public static double ConvertToDouble(DateTime date) { , , )); var ...

  9. Asp.net mvc 实时生成缩率图到硬盘

    之前对于缩率图的处理是在图片上传到服务器之后,同步生成两张不同尺寸的缩率供前端调用,刚开始还能满足需求,慢慢的随着前端展示的多样化,缩率图已不能前端展示的需求,所以考虑做一个实时生成图片缩率图服务. ...

  10. CentOS7.5搭建ELK6.2.4集群及插件安装

    一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...