题目梗概

给出一个一元n次多项式,求出1-m的整数解。

系数a<=|10^10000|

思考

拿到题目,你可能会想到秦九韶算法。但是系数a[i]怎么处理呢?

思考了好久,看了下题解。发现只要取模就可以了,为什么呢?

$a_{0}+a_{1} \times x + a_{2} \times x^2 + a_{3} \times x^3 \cdots \cdots +a_{n} \times x^n = 0$

$\left (a_{0}+a_{1} \times x + a_{2} \times x^2 + a_{3} \times x^3 \cdots \cdots +a_{n} \times x^n  \right ) \%  MOD = 0 \% MOD$

$\left (a_{0}\% MOD+a_{1} \times x \% MOD + a_{2} \times x^2 \% MOD + a_{3} \times x^3 \% MOD \cdots \cdots +a_{n} \times x^n \% MOD \right ) \%  MOD = 0 \% MOD$

MOD应为一个大质数,如果是合数的话有几率出现问题。 比如(2%4+2%4)%4=0%4 但实际上(2+2)!=0

读入的时候一边读入一边模,同时用秦九韶算法验证即可。

#include <algorithm>
#include <cstdio>
#include <cstring>
typedef long long ll;
const ll maxn = 1e6+100;
const ll MOD = 1e9+7;
ll a[110],n,m,ans[maxn],cnt;//读入
ll read(){ll sum = 0,flag=1;char c = getchar();while(c < '0' || c > '9'){if( c == '-' ) flag = -1;c = getchar();}while(c>='0' && c<='9'){sum = sum * 10 + c - '0';sum %= MOD;c = getchar();}return sum*flag;
}//秦九韶算法
ll Run(ll x){ll sum = 0;for(register ll i=n+1;i>=1;i--){sum = sum * x + a[i];sum %= MOD;}return sum;
}int main(){n = read();m = read();for(ll i=1;i<=n+1;i++){a[i] = read();}for(register ll i=1;i<=m;i++){if(Run(i)==0) ans[++cnt] = i;}printf("%lld\n",cnt);for(int i=1;i<=cnt;i++) printf("%lld\n",ans[i]);return 0;
}

转载于:https://www.cnblogs.com/OIerLYF/p/7292113.html

[数论][NOIP]解方程相关推荐

  1. 洛谷 题解 P2312 【解方程】

    Problem P2312 [解方程] >>> record 用时: 1166ms 空间: 780KB(0.76MB) 代码长度: 2.95KB 提交记录: R9909587 > ...

  2. codevs3732==洛谷 解方程P2312 解方程

    P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录 题目描述 已知多项式方程: a0+ ...

  3. python解复杂方程_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...

  4. java2的7次方怎么表示_python编程解方程第二弹:10行代码解二次方程(纯字符)...

    用纯字符串格式来记录二次方程: '3x^2-10x-8=0' 'x^2-2x+1=0' '3x^2+14x+8=0' 'x^2=9' 二次方怎么表示呢?比如上面的^表示法,或者是python风格的** ...

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

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

  6. 10.24T3 解方程 取模意义下运算+秦九韶算法

    #1228 解方程 描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入 输入共n + 2 行. 第一行包含2 ...

  7. 洛谷P2312 解方程题解

    洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...

  8. 重根迭代法解方程(两种方法)(Python实现)

    简述 通过两种不同的重根迭代的来解方程. 处理的方程是 (sin(x) - x/2) ^2 = 0 代码 采用的第一种迭代重根迭代方法: xk+1=xk−mf(xk)f′(xk)xk+1=xk−mf( ...

  9. 【PC工具】如何简单粗暴无脑的解方程

    都2020年了(二十一世纪快中叶了): 信息时代这么多年了,已经进入云计算时代了: 电脑都会下围棋了: 火箭都能回收了: ... 那么 问题就来了:我们是不是还要用手解方程呢?电脑能不能给爷(我)解方 ...

  10. 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...

    心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起&qu ...

最新文章

  1. 基于cnn的短文本分类_自然语言理解之(二)短文本多分类TextCNN实践
  2. Python哈希函数hashlib
  3. 网络营销——专业的站内、站外优化还是得靠专业网络营销公司
  4. etcd raft library设计原理和使用
  5. [分享]我国食品行业ERP现状及分析解决方案
  6. 安装 Alibaba Cloud Toolkit
  7. C++ opengl 天空盒的创建
  8. 【es】client通信流程与负载均衡
  9. java 骗局_Java有陷阱,用时需谨慎——慎用入参做返回值
  10. 没有安装gcc,导致提示configure cannot guess build type; you must specify one
  11. 用axure绘制PHP工作流程图,如何用Axure绘制高质量的业务流程图?
  12. OFFICE 2007 SP3后续补丁微软官方下载地址
  13. 2020.11.18 比赛总结题解合集
  14. Spring原理机制
  15. c语言简单教师管理系统,C语言教师管理系统代码
  16. 2019年北航、南大、东南、上科大及本校计算机系保研
  17. 刚刚地震了,怎么办?
  18. Excel删除重复值
  19. 关于developer express 的RepositoryItemCheckEdit 不能多选的问题
  20. hiredis-vip

热门文章

  1. 服务器虚拟机镜像怎么设置ip,风云OL虚拟机镜像一键服务端+配套客户端+启动教程+GM命令+IP修改等...
  2. java操作字节码_操作Java字节码
  3. Superset集成到iframe 跨域 无需账号登录
  4. linux配置网页访问不了怎么办,本机浏览器访问不到Linux虚拟机中的nginx开启页面...
  5. printf是如何实现变长参数的
  6. javscript DOM基础知识(常用篇)
  7. java.net.InetAddress 获取系统 MAC 地址 与 IP 地址
  8. IDEA配置更加流畅 写代码起飞停不下来~
  9. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_21-页面静态化-静态化测试-静态化程序编写...
  10. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_8_Stream流中的常用方法_skip...