洛谷P2312 解方程题解
洛谷P2312 解方程题解
题目描述
已知多项式方程:
\[a_0+a_1x+a_2x^2+\cdots+a_nx^n=0\]
求这个方程在 \([1,m]\) 内的整数解(\(n\) 和 \(m\) 均为正整数)。
输入格式
输入共 \(n + 2\) 行。
第一行包含 \(2\) 个整数 \(n, m\) ,每两个整数之间用一个空格隔开。
接下来的 \(n+1\) 行每行包含一个整数,依次为 \(a_0,a_1,a_2\ldots a_n\).
输出格式
第一行输出方程在 \([1,m]\) 内的整数解的个数。
接下来每行一个整数,按照从小到大的顺序依次输出方程在 [1,m][1,m] 内的一个整数解。
输入输出样例
输入 #1 复制
2 10
1
-2
1
输出 #1 复制
1
1
输入 #2 复制
2 10
2
-3
1
输出 #2 复制
2
1
2
输入 #3 复制
2 10
1
3
2
输出 #3 复制
0
说明/提示
对于 \(30%\) 的数据:\(0<n\le 2\),\(|a_i|\le 100\),\(a_n≠0\),\(m<1000\)
对于 \(50%\) 的数据:\(0<n\le 100,|a_i|\le 10^{100},a_n≠0,m<1000\)
对于 \(70%\) 的数据:\(0<n\le 100,|a_i|\le 10^{10000},a_n≠0,m<10^4\)。
对于 \(100%\) 的数据:\(0<n\le 100,|a_i|\le 10^{10000},a_n≠0,m<10^6\)。
解析:
秦九韶公式 + 快读
输入要注意,因为输入的\(a[i]\)范围比较大,
所以就对一个质数取模
从\(1\)到\(m\)进行枚举,枚举的是\(x\),
然后利用秦九韶公式进行求解
如果返回的值是\(0\),那么就记录
反之继续。
#include <cstdio>
#include <iostream>
#include <cmath>
#include <queue>
#include <stack>
#include <cstring>
#include <vector>
#include <algorithm>
#include <iomanip>
#define Max 105
#define re register
#define D double
#define int long long
int n,m,a[Max],ans = 0, Ans[1000012];
const int mod = 19260817;
int read() {char ch = getchar(); int f = 1, s = 0;while(ch < '0' || ch > '9') {if(ch == '-') f = -1;ch =getchar();}while(ch >= '0' && ch <= '9') {s = (10 * s + ch - '0') % mod;ch = getchar();}return s * f;
}
int work(int x) {int ANS = 0;for(re int i = n ; i >= 1 ; -- i)ANS = ((ANS + a[i]) * x)% mod;ANS = (ANS + a[0]) % mod;return ANS;
}
void Main() {scanf("%lld%lld",&n,&m);for(re int i = 0; i <= n; ++ i) a[i] = read();for(re int i = 1; i <= m; ++ i)if(work(i) == 0) ans ++, Ans[ans] = i;printf("%lld\n",ans);for(re int i = 1; i <= ans; ++ i) printf("%lld\n",Ans[i]);
}
signed main() {Main();return 0;
}
转载于:https://www.cnblogs.com/handsomegodzilla/p/11482644.html
洛谷P2312 解方程题解相关推荐
- 洛谷P2312解方程题解
题目 暴力能得\(30\),正解需要其他的算法操作,算法操作就是用秦九韶算法来优化. 秦九韶算法就是求多项式的值时,首先计算最内层括号内一次多项式的值,然后由内向外逐层计算一次多项式的值,然后就将求\ ...
- 洛谷P2312解方程
传送门 思路分析 怎么求解呢? 其实我们可以把左边的式子当成一个算式来计算,从1到 $ m $ 枚举,只要结果是0,那么当前枚举到的值就是这个等式的解了.可以通过编写一个 $ bool $ 函数来判断 ...
- codevs3732==洛谷 解方程P2312 解方程
P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录 题目描述 已知多项式方程: a0+ ...
- 洛谷P1156 垃圾陷阱 题解浅谈刷表法与填表法
洛谷P1156 垃圾陷阱 题解&浅谈刷表法与填表法 填表法 :就是一般的动态规划,当前点的状态,可以直接用状态方程,根据之前点的状态推导出来. 刷表法:由当前点的状态,更新其他点的状态.需要注 ...
- 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)
洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...
- 洛谷P1273 有线电视网 题解
洛谷P1273 有线电视网 题解 题目链接:P1273 有线电视网 题意: 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为 ...
- 洛谷P4568 [JLOI2011] 飞行路线 题解
洛谷P4568 [JLOI2011] 飞行路线 题解 题目链接:P4568 [JLOI2011] 飞行路线 题意: Alice 和 Bob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公 ...
- 洛谷P3426 [POI2005]SZA-Template 题解
洛谷P3426 [POI2005]SZA-Template 题解 题目链接:P3426 [POI2005]SZA-Template 题意:你打算在纸上印一串字母. 为了完成这项工作,你决定刻一个印章. ...
- 洛谷P1262 间谍网络题解
洛谷P1262 间谍网络题解 题目大意 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果 A 间谍手中掌握着关于 B 间谍的犯罪证据,则称 A 可以揭发 B.有些间谍收受贿赂,只要 ...
最新文章
- 使用initramfs启动Linux成功
- Win 10 UWP开发系列:设置AppBarButton的图标
- tomcat端口问题
- 牛人,多看看他们写的东西
- [css] 说说display:none和visibility:hidden的区别
- 高程 第7章函数表达式 7.1递归 7.2闭包
- java 简易的闹钟设计_JavaFX实现简易时钟效果
- 极其良心的设计导航网站
- 关于QT编译错误问题
- 网易云api如何调用_谈谈网易云如何快速升级
- How——如何学习Win32汇编
- Struts2——一个用来开发 MVC 应用程序的框架
- 常用的织梦(dedecms)调用标签
- linux统计单拷贝基因家族,为什么所有病毒基因都是单拷贝
- 小猿日记(9) - 今天,我又拒绝了阿里的一次机会
- JAVA:二进制与十进制转换
- c语言用数字代表字母,使用c语言判断数字字母
- springboot 项目启动报Has been loaded by XML or SqlProvider, ignoring the injection of the SQL的错误的解决方案
- 【导数术】1.导数基本公式
- Carrot保卫萝卜
热门文章
- 对commonMark.js的理解学习
- ThinkPHP入门--后盾视频
- Live Writer
- 教你在windows 7/xp 下安装使用mencoder
- 祝贺!屠呦呦再获国际大奖!一文读懂:神药青蒿素那些我们不知道的事
- 人工智能学什么?专家表示基础科学教育需发力
- 机器学习中数据处理与可视化的python、numpy等常用函数
- java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...
- python3-正则表达式基本使用方法(附案例)_python正则表达式
- 004_SpringBoot整合Listener