NOIP2014 解方程
来源:互联网 发布:手机图文制作软件 编辑:程序博客网 时间:2024/05/17 03:04
30’
显然
直接求根+判断:
n=1 :
n=2 :
复杂度:
50’
直接枚举
高精判断是否为
复杂度:
70’
假设
原题就是求
若有
那么:
我们在读入时取模,可以不用高精,但是考虑到:
那么只能说明:
我们可以取
复杂度:
100’
续70’算法。
我们发现
当
当
所以用类似筛选法筛掉就行了
#define s 10int prime[s]={4621,8053,9227,3001,2333,5011,7121,8009,9973,1117};int g[100010][s],p[1000010],n,m;int f(int x,int y){ int r=0,t=1; fr(i,0,n) { r=(r+t*g[i][y])%prime[y]; t=t*x%prime[y]; } rt r;}int main(){ n=read(); m=read(); fr(i,0,n) { char c=gc; while(c<'0'&&c>'9'&&c!='-') c=gc; int k=c=='-'?-1:1; c=c=='-'?gc:c; while(c>='0'&&c<='9') { fr(j,0,s-1) g[i][j]=(g[i][j]*10+c-48)%prime[j]; c=gc; } fr(j,0,s-1) g[i][j]*=k; } fr(i,0,s-1) fr(j,0,prime[i]-1) if(f(j,i)) for(int k=j;k<=m;k+=prime[i]) p[k]=1; int ans=0; fr(i,1,m) if(!p[i]) ans++; printf("%d\n",ans); fr(i,1,m) if(!p[i]) printf("%d\n",i); rt 0;}
复杂度:
阅读全文
0 0
- NOIP2014 解方程
- NOIP2014解方程
- [BZOJ3751][NOIP2014]解方程
- NOIP2014 解方程
- 3751: [NOIP2014]解方程
- NOIP2014 解方程
- noip2014解方程题解
- NOIP2014 解方程
- noip2014解方程
- NOIP2014 解方程
- NOIP2014 解方程
- BZOJ3751: [NOIP2014]解方程
- NOIP2014解方程
- NOIP2014 解方程
- 【NOIP2014】解方程
- [P2312][NOIP2014]解方程
- [noip2014]解方程 题解
- 【noip2014】解方程
- 也许,这样理解HTTPS更容易
- 使用JDBC进行批处理(转)
- 关于浏览器出现滚动条和消失页面不跳动
- Session与Cookie
- 代码生成公钥私钥
- NOIP2014 解方程
- 有向图的强连通分量
- Spring事务 之 事务自动提交
- java中Map,List与Set的区别
- Servlet获取下载链接为空的问题
- MP4V2--如何使用 MP4SetTrackESConfiguration
- 微信小程序实践 第一个项目
- AngularJS之定时器(timeout)
- linux信号屏蔽