[数论][NOIP]解方程
题目梗概
给出一个一元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]解方程相关推荐
- 洛谷 题解 P2312 【解方程】
Problem P2312 [解方程] >>> record 用时: 1166ms 空间: 780KB(0.76MB) 代码长度: 2.95KB 提交记录: R9909587 > ...
- codevs3732==洛谷 解方程P2312 解方程
P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录 题目描述 已知多项式方程: a0+ ...
- python解复杂方程_Python数据处理篇之Sympy系列(五)---解方程
前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...
- java2的7次方怎么表示_python编程解方程第二弹:10行代码解二次方程(纯字符)...
用纯字符串格式来记录二次方程: '3x^2-10x-8=0' 'x^2-2x+1=0' '3x^2+14x+8=0' 'x^2=9' 二次方怎么表示呢?比如上面的^表示法,或者是python风格的** ...
- 【BZOJ】3751: [NOIP2014]解方程【秦九韶公式】【大整数取模技巧】
3751: [NOIP2014]解方程 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 4856 Solved: 983 [Submit][Stat ...
- 10.24T3 解方程 取模意义下运算+秦九韶算法
#1228 解方程 描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, m ] 内的整数解(n 和m 均为正整数) 输入 输入共n + 2 行. 第一行包含2 ...
- 洛谷P2312 解方程题解
洛谷P2312 解方程题解 题目描述 已知多项式方程: \[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\] 求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) ...
- 重根迭代法解方程(两种方法)(Python实现)
简述 通过两种不同的重根迭代的来解方程. 处理的方程是 (sin(x) - x/2) ^2 = 0 代码 采用的第一种迭代重根迭代方法: xk+1=xk−mf(xk)f′(xk)xk+1=xk−mf( ...
- 【PC工具】如何简单粗暴无脑的解方程
都2020年了(二十一世纪快中叶了): 信息时代这么多年了,已经进入云计算时代了: 电脑都会下围棋了: 火箭都能回收了: ... 那么 问题就来了:我们是不是还要用手解方程呢?电脑能不能给爷(我)解方 ...
- 2017广东工业大学程序设计竞赛决赛 题解源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)...
心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起&qu ...
最新文章
- 基于cnn的短文本分类_自然语言理解之(二)短文本多分类TextCNN实践
- Python哈希函数hashlib
- 网络营销——专业的站内、站外优化还是得靠专业网络营销公司
- etcd raft library设计原理和使用
- [分享]我国食品行业ERP现状及分析解决方案
- 安装 Alibaba Cloud Toolkit
- C++ opengl 天空盒的创建
- 【es】client通信流程与负载均衡
- java 骗局_Java有陷阱,用时需谨慎——慎用入参做返回值
- 没有安装gcc,导致提示configure cannot guess build type; you must specify one
- 用axure绘制PHP工作流程图,如何用Axure绘制高质量的业务流程图?
- OFFICE 2007 SP3后续补丁微软官方下载地址
- 2020.11.18 比赛总结题解合集
- Spring原理机制
- c语言简单教师管理系统,C语言教师管理系统代码
- 2019年北航、南大、东南、上科大及本校计算机系保研
- 刚刚地震了,怎么办?
- Excel删除重复值
- 关于developer express 的RepositoryItemCheckEdit 不能多选的问题
- hiredis-vip
热门文章
- 服务器虚拟机镜像怎么设置ip,风云OL虚拟机镜像一键服务端+配套客户端+启动教程+GM命令+IP修改等...
- java操作字节码_操作Java字节码
- Superset集成到iframe 跨域 无需账号登录
- linux配置网页访问不了怎么办,本机浏览器访问不到Linux虚拟机中的nginx开启页面...
- printf是如何实现变长参数的
- javscript DOM基础知识(常用篇)
- java.net.InetAddress 获取系统 MAC 地址 与 IP 地址
- IDEA配置更加流畅 写代码起飞停不下来~
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_21-页面静态化-静态化测试-静态化程序编写...
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_8_Stream流中的常用方法_skip...