解方程 2014NOIP提高组 (数学)
解方程
输入文件名为equation.in。
输入共n+2行。
第一行包含2个整数n、m,每两个整数之间用一个空格隔开。
接下来的n+1行每行包含一个整数,依次为a0,a1,a2,……,an。
输出文件名为equation.out。
第一行输出方程在[1, m]内的整数解的个数。
接下来每行一个整数,按照从小到大的顺序依次输出方程在[1, m]内的一个整数解。
equation.in |
equation.out |
2 10 1 -2 1 |
1 1 |
equation.in |
equation.out |
2 10 2 -3 1 |
2 1 2 |
equation.in |
equation.out |
2 10 1 3 2 |
0 |
/*
将每一项的系数都模一个质数,
若一个数是方程的解,那么在模的意义下它也是方程的解(但反过来不一定)。
为了解决这个“不一定”的问题,多选几个质数,
若一个数在不同模的意义下都是方程的解,那么它有极大的几率就是原方程的解了。
*/
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<vector> using namespace std;
const int mod[]= {,,,,,,,};
char s[][];
int n,m;
int num[][]; bool solve(int od,int x)
{
int i,j;
long long tmp=;
long long pw=;
for(i=; i<=n; ++i)
{
if(s[i][]=='-') tmp=(tmp-pw*num[od][i])%mod[od];
else tmp=(tmp+pw*num[od][i])%mod[od];
pw=pw*x%mod[od];
}
while(tmp<) tmp+=mod[od];
if(!tmp)return true;
return false;
} int res[];
int ans[],act=; int main()
{
int i,j,k;
scanf("%d%d",&n,&m);
for(i=; i<=n; ++i)
scanf("%s",s[i]);
int len[];
for(i=; i<=n; ++i)len[i]=strlen(s[i]);
for(k=; k<=; ++k)
for(i=; i<=n; ++i)
{
for(j=; j<len[i]; ++j)
{
if(s[i][j]=='-')continue;
num[k][i]=num[k][i]*+s[i][j]-'';
num[k][i]%=mod[k];
}
}
for(k=;k<=;++k)
for(i=; i<mod[k] && i<=m; ++i)
{
if(!solve(k,i))continue;
++res[i];
for(j=i+mod[k]; j<=m; j+=mod[k])
{
res[j]++;
}
}
for(i=; i<=m; ++i)
if(res[i]==)ans[++act]=i;
printf("%d\n",act);
for(i=; i<=act; ++i)printf("%d\n",ans[i]);
return ;
}
解方程 2014NOIP提高组 (数学)的更多相关文章
- [DP]Luogu 2014NOIP提高组 飞扬的小鸟题解
2014NOIP提高组飞扬的小鸟题解 题目描述 Flappy Bird是一款风靡一时的休闲手机游戏.玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙.如果小鸟一 ...
- codevs3732==洛谷 解方程P2312 解方程
P2312 解方程 195通过 1.6K提交 题目提供者该用户不存在 标签数论(数学相关)高精2014NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录 题目描述 已知多项式方程: a ...
- 2017广东工业大学程序设计竞赛决赛 题解&源码(A,数学解方程,B,贪心博弈,C,递归,D,水,E,贪心,面试题,F,贪心,枚举,LCA,G,dp,记忆化搜索,H,思维题)
心得: 这比赛真的是不要不要的,pending了一下午,也不知道对错,直接做过去就是了,也没有管太多! Problem A: 两只老虎 Description 来,我们先来放松下,听听儿歌,一起“唱” ...
- Comet OJ - Contest #0 A题 解方程 (数学)
题目描述 小象同学在初等教育时期遇到了一个复杂的数学题,题目是这样的: 给定自然数 nn,确定关于 x, y, zx,y,z 的不定方程 \displaystyle \sqrt{x - \sqrt{n ...
- BZOJ 3751: [NOIP2014]解方程 数学
3751: [NOIP2014]解方程 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=3751 Description 已知多项式方程: ...
- NOIP2018提高组省一冲奖班模测训练(三)
NOIP2018提高组省一冲奖班模测训练(三) 自己按照noip的方式考,只在最后一两分钟交了一次 第一题过了,对拍拍到尾. 第二题不会.考试时往组合计数的方向想,推公式,推了一个多小时,大脑爆炸,还 ...
- NOIP2014提高组 酱油记
NOIP考到哪里我就写到哪里好了. 2014/10/12 初赛 下午两点半开始考,我两点就到了.然后看到了QYL,NYZ,CZR等大神,先Orz了再说. 考试开始前,发现考场竟然没几个我认识的,不是按 ...
- [NOIP2014]解方程
3732 解方程 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 题目描述 Description 输入描述 Input Descrip ...
- bzoj 3751: [NOIP2014]解方程 同余系枚举
3.解方程(equation.cpp/c/pas)[问题描述]已知多项式方程:a ! + a ! x + a ! x ! + ⋯ + a ! x ! = 0求这个方程在[1, m]内的整数解(n 和 ...
随机推荐
- 使用谷歌Z生成条形码以及二维码
下载地址:http://zxingnet.codeplex.com/ zxing.net是.net平台下编解条形码和二维码的工具,使用非常方便. 首先下载二进制dll文件,引入工程: using Sy ...
- POJ1276 Cash Machine
Time Limit: 1000MS Memory Limit: 10000KB 64bit IO Format: %lld & %llu Description A Bank pla ...
- C++对拍数据生成
#include<map> #include<ctime> #include<queue> #include<cmath> #include<cs ...
- 【Eclipse+IntelliJ反编译】Eclipse/IntelliJ IDEA反编译查看源码及注释
怎么用IDE查看第三方jar包的源码和注释,IntelliJ IDEA自带反编译器,Eclipse装个插件即可,不能看注释就麻烦了,总不能去找API文档吧,现在终于掌握了,下面给出解决方案,供大家参考 ...
- PatentTips - Hierarchical RAID system including multiple RAIDs
BACKGROUND OF THE INVENTION The present invention relates to a storage system offering large capacit ...
- POJ 3268_Silver Cow Party
题意: n个地方,标号1~n,每个地方都有一头牛,现在要他们都去往标号为x的地方,再从x返回,每条道路都是单向的,求所有牛走的来回的最短路中的最大值. 分析: 注意在求每头牛走到x时,挨个算肯定超时, ...
- hdu4778(状态压缩dp)
题意: 有G种颜色的宝石,共B袋.两个人轮流拿宝石,每次从B袋中拿一袋,把其中的所有宝石倒入一个公共容器,每袋宝石只能取一次. 当容器中有S个相同颜色的宝石时,将失去这S个宝石,当前操作者得到一个魔法 ...
- 对于事务ACID的理解
ACID,即以下四点: 原子性(Atomicity) 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生. 一致性(Consistency) 事务前后数据的完整性必须保持一致 ...
- MongoDB使用教程收集(语法教程)
https://www.tutorialspoint.com/mongodb/index.htm https://wizardforcel.gitbooks.io/w3school-mongodb/c ...
- python加载和使用java的类的方法
在开发python项目的时候,有时候会用的java的jar包 有这么几个python的三方包可以用: pyjnius:bug list:https://github.com/kivy/pyjnius/ ...