[noip2014]解方程 hash+秦九昭
2015-09-21 19:51
253 查看
坑啊= =
选了好几次质数,发现还是这一组靠谱
思路:每次mod之后求出所有解,再mod再求,看着复杂度差不多了就把没重复的都输出就行了
想学会这道题的同学们一定要自己打一遍,很重要23333
喜欢就收藏一下,vic私人qq:1064864324,加我一起讨论问题,一起进步^-^
选了好几次质数,发现还是这一组靠谱
思路:每次mod之后求出所有解,再mod再求,看着复杂度差不多了就把没重复的都输出就行了
const mi:array[1..7] of int64=(12537,15437,17647,14677,10003,10009,10007); var n,m,shi,sum,x:int64; i,j,k,y1:longint; a:array[-1..102,-1..10000+9] of int64; flag:array[-1..1000000+9] of boolean; c:char; b:array[-1..102,1..7] of int64; f:array[-1..100000,1..7] of boolean; begin readln(n,m); fillchar(flag,sizeof(flag),true); fillchar(f,sizeof(f),true); for i:=0 to n do begin read(c); if c='-' then begin j:=0; y1:=-1; end else begin y1:=1; j:=1; val(c,a[i,1],k); end; a[i,1]:=a[i,1]*y1; while not eoln do begin inc(j); read(c); val(c,a[i,j],k); a[i,j]:=a[i,j]*y1; end; a[i,0]:=j; readln; end; for k:=1 to 7 do for i:=0 to n do begin shi:=1; for j:=a[i,0] downto 1 do begin b[i,k]:=(b[i,k]+a[i,j]*shi mod mi[k]) mod mi[k]; shi:=shi*10 mod mi[k]; end; end; for k:=1 to 7 do for i:=1 to mi[k] do begin sum:=0; x:=1; for j:=0 to n do begin sum:=(sum+x*b[j,k] mod mi[k]) mod mi[k]; x:=x*i mod mi[k]; end; if sum<>0 then f[i,k]:=false; end; sum:=0; for i:=1 to m do for k:=1 to 7 do if not f[i mod mi[k],k] then begin flag[i]:=false; break; end; for i:=1 to m do if flag[i] then inc(sum); writeln(sum); for i:=1 to m do if flag[i] then writeln(i); end.
想学会这道题的同学们一定要自己打一遍,很重要23333
喜欢就收藏一下,vic私人qq:1064864324,加我一起讨论问题,一起进步^-^
相关文章推荐
- 几种任务调度的 Java 实现方法与比较
- 语音的情感识别问题
- Objectvie-C------NSArray、NSMutableArray基本用法总结
- usb 接口突然不能使用了怎么办?
- java环境变量配置
- Cocos3.8创建新工程,添加库工程
- 词法分析程序
- ogre嵌入MFC教程
- findbug类型
- 进程终止函数:abort, atexit, exit, _exit, _Exit http://blog.sina.com.cn/s/blog_605f5b4f0100x3v0.html
- 模拟器下调用AVAudioRecorder的prepareToRecord耗时有点久怎么办?
- SQL Server2008知识点总结
- hdu 5446(2015长春网络赛J题 Lucas定理+中国剩余定理)
- 【POI1999&&codevs3634】积水,关于sunshine爷的NOIP(suan)水(ge)题(pi)赛
- hdu 5438 Ponds(长春网络赛 拓扑+bfs)
- BIEE11G配置Oracle 12c数据源
- UI03_视图控制器
- 1006. 换个格式输出整数 (15)
- [JavaWeb基础] 020.Velocity 模板引擎简单示例
- Java之voliate, synchronized, AtomicInteger使用