洛谷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 解方程题解相关推荐

  1. 洛谷P2312解方程题解

    题目 暴力能得\(30\),正解需要其他的算法操作,算法操作就是用秦九韶算法来优化. 秦九韶算法就是求多项式的值时,首先计算最内层括号内一次多项式的值,然后由内向外逐层计算一次多项式的值,然后就将求\ ...

  2. 洛谷P2312解方程

    传送门 思路分析 怎么求解呢? 其实我们可以把左边的式子当成一个算式来计算,从1到 $ m $ 枚举,只要结果是0,那么当前枚举到的值就是这个等式的解了.可以通过编写一个 $ bool $ 函数来判断 ...

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

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

  4. 洛谷P1156 垃圾陷阱 题解浅谈刷表法与填表法

    洛谷P1156 垃圾陷阱 题解&浅谈刷表法与填表法 填表法 :就是一般的动态规划,当前点的状态,可以直接用状态方程,根据之前点的状态推导出来. 刷表法:由当前点的状态,更新其他点的状态.需要注 ...

  5. 洛谷P2507 [SCOI2008]配对 题解(dp+贪心)

    洛谷P2507 [SCOI2008]配对 题解(dp+贪心) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1299251 链接题目地址:洛谷P2507 [S ...

  6. 洛谷P1273 有线电视网 题解

    洛谷P1273 有线电视网 题解 题目链接:P1273 有线电视网 题意: 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为 ...

  7. 洛谷P4568 [JLOI2011] 飞行路线 题解

    洛谷P4568 [JLOI2011] 飞行路线 题解 题目链接:P4568 [JLOI2011] 飞行路线 题意: Alice 和 Bob 现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公 ...

  8. 洛谷P3426 [POI2005]SZA-Template 题解

    洛谷P3426 [POI2005]SZA-Template 题解 题目链接:P3426 [POI2005]SZA-Template 题意:你打算在纸上印一串字母. 为了完成这项工作,你决定刻一个印章. ...

  9. 洛谷P1262 间谍网络题解

    洛谷P1262 间谍网络题解 题目大意 题目描述 由于外国间谍的大量渗入,国家安全正处于高度的危机之中.如果 A 间谍手中掌握着关于 B 间谍的犯罪证据,则称 A 可以揭发 B.有些间谍收受贿赂,只要 ...

最新文章

  1. 使用initramfs启动Linux成功
  2. Win 10 UWP开发系列:设置AppBarButton的图标
  3. tomcat端口问题
  4. 牛人,多看看他们写的东西
  5. [css] 说说display:none和visibility:hidden的区别
  6. 高程 第7章函数表达式 7.1递归 7.2闭包
  7. java 简易的闹钟设计_JavaFX实现简易时钟效果
  8. 极其良心的设计导航网站
  9. 关于QT编译错误问题
  10. 网易云api如何调用_谈谈网易云如何快速升级
  11. How——如何学习Win32汇编
  12. Struts2——一个用来开发 MVC 应用程序的框架
  13. 常用的织梦(dedecms)调用标签
  14. linux统计单拷贝基因家族,为什么所有病毒基因都是单拷贝
  15. 小猿日记(9) - 今天,我又拒绝了阿里的一次机会
  16. JAVA:二进制与十进制转换
  17. c语言用数字代表字母,使用c语言判断数字字母
  18. springboot 项目启动报Has been loaded by XML or SqlProvider, ignoring the injection of the SQL的错误的解决方案
  19. 【导数术】1.导数基本公式
  20. Carrot保卫萝卜

热门文章

  1. 对commonMark.js的理解学习
  2. ThinkPHP入门--后盾视频
  3. Live Writer
  4. 教你在windows 7/xp 下安装使用mencoder
  5. 祝贺!屠呦呦再获国际大奖!一文读懂:神药青蒿素那些我们不知道的事
  6. 人工智能学什么?专家表示基础科学教育需发力
  7. 机器学习中数据处理与可视化的python、numpy等常用函数
  8. java 内部类 返回值_Java基础第10天+形式参数和返回值的问题、包、导包、权限修饰符、常见的修饰符、内部类(局部内部类,成员内部类,匿名内部类)...
  9. python3-正则表达式基本使用方法(附案例)_python正则表达式
  10. 004_SpringBoot整合Listener