题面

解析

这题的数据看起来似乎特别吓人。。。

但实际上,

这题非常好想。

只需要模一个大质数就行了(我模的是1e9+7)(实测有效)

另外,a要用快读读入,再一边模Mod(因为实在太大了)。

然后,秦九韶算法了解一下:

秦九韶算法

接下来,只需要枚举1~m的所有整数再判断就行了。

然而,这一切并没有结束...

这样的时间复杂度是O(n*m)

所以稍微有点常数就会被卡(惨痛的经验教训),

因此,我们要直接开long long,在最后模一下Mod就行了(不然会被卡)。

上AC代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std; const int Mod1=1e9+,Mod2=1e9+;
ll n,m,a1[],a2[];
ll ans[]; bool isroot(int x){
ll ret1=,ret2=;
for(int i=n;i;i--){
ret1=((ret1+a1[i])*x)%Mod1;
}
ret1=(ret1+a1[])%Mod1;
return !ret1;
} void read1(int k){
ll x1=,x2=,f=;
char ch=getchar();
while(ch>''||ch<''){
if(ch=='-') f=-;
ch=getchar();
}
while(ch<=''&&ch>=''){
x1=(ll)(x1*+(ch-''))%Mod1;
ch=getchar();
}
a1[k]=x1*f;
} void print(int x){
if(x<) putchar('-'),x=-x;
if(x>) print(x/);
putchar(x%+'');
} int main(){
scanf("%lld%lld",&n,&m);
for(int i=;i<=n;i++){
read1(i);
}
for(int i=;i<=m;i++){
if(isroot(i)) ans[++ans[]]=i;
}
print(ans[]);
printf("\n");
for(int i=;i<=ans[];i++){
print(ans[i]);
printf("\n");
}
return ;
}

题解 【NOIP2014】解方程的更多相关文章

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

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

  2. BZOJ 3751: [NOIP2014]解方程 数学

    3751: [NOIP2014]解方程 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3751 Description 已知多项式方程: ...

  3. LOJ2503 NOIP2014 解方程 【HASH】

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

  4. [NOIP2014]解方程

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

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

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

  6. [BZOJ3751][NOIP2014] 解方程

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

  7. NOIP2014解方程

    题目:求一个n次整系数方程在1-m内的整数解  n<=100 系数<=10000位 m<=100W 题解:最暴力的想法是枚举x,带入求值看是否为0. 这样涉及到高精度乘高精度,高精度 ...

  8. 【bzoj3751】[NOIP2014]解方程 数论

    题目描述 已知多项式方程: a0+a1*x+a2*x^2+...+an*x^n=0 求这个方程在[1,m]内的整数解(n和m均为正整数). 输入 第一行包含2个整数n.m,每两个整数之间用一个空格隔开 ...

  9. [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 ...

  10. bzoj 3751: [NOIP2014]解方程

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

随机推荐

  1. Spring系列二:IoC 容器

    还君明珠双泪垂,恨不相逢未嫁时. 概述 Spring IoC容器是Spring框架的核心.只需要进行简单的容器配置,就可以将创建对象,使用对象,销毁对象联系在一起,从而管理从创建对象到销毁对象的整个生 ...

  2. 黑科技——树剖两次dfs转一次dfs!

    黑科技--树剖两次\(dfs\)转一次\(dfs\)! 重所周知,树链剖分通常是要\(dfs​\)两次的,就像这样: int Fa[N],dep[N],Sz[N],son[N]; void dfs1( ...

  3. Django初步完成:登录、注册、退出

    python环境:python2.7 开发工具:pycharm 项目名称:mysite5 app名称:online settings:映射app路径 INSTALLED_APPS = [ 'djang ...

  4. jenkins+docker+git+etcd实现应用配置文件管理

    两台机器: 一台机器安装gitlab: http://www.cnblogs.com/cjsblogs/p/8716932.html 另一台机器安装etcd+docker+jenkins jenkin ...

  5. C#面向对象21 接口

    接口的规范: 1.接口是一种规范.只要一个类继承了一个接口,这个类就必须实现这个接口中所有的成员. 2.为了多态,接口不能被实例化,接口不new(不能创建对象) 3.接口中的成员不能加“访问修饰符”, ...

  6. 基于SQL Server日志链查看数据库insert/update/delete操作(一)

    在MSSQLServer2008下的语句 不同版本可能语句会有微小差别 SELECT [Slot ID], [Transaction ID], Operation, AllocUnitName, [C ...

  7. JavaScript使用纯函数避免bug

    纯函数 一.纯函数 定义:纯函数是指不依赖并且不修改其作用域之外的函数.通过以下几个示例来认识纯函数: var a = 10; //纯函数 function foo(num){ return num ...

  8. element-ui 中 el-table 根据scope.row行数据变化动态显示行内控件

    加入本行的数据为scope.row,其数据格式为 { "propertyId": 4, "propertyName": "标题", &quo ...

  9. 使用docker搭建OpenResty开发环境

    Dockerfile文件: FROM centos:latest RUN yum install -y pcre-devel openssl-devel gcc curl wget perl make ...

  10. Android Jetpack之WorkManager: 观察结果

    在使用WorkManager的时候,有时候需要关注任务执行的结果和状态,可以使用 LiveData<WorkInfo> liveOpStatus = WorkManager.getInst ...