Gravatar
CSU_Turkey
积分:1723
提交:614 / 1589
看懂题解之后代码量还是蛮小的...

Gravatar
HZOI_蒟蒻一只
积分:1517
提交:319 / 790
vfk做法太吓人啦……跪烂……
P.S.:那个做法取膜次数太多会$WA$爆70,用$2147483647$验过之后再找一个大素数即可……
$UPD$:大视野老爷机害人害己……这个代码拿到那里$T$了……

Gravatar
hee
积分:644
提交:137 / 414
#include<map>
#include<set>
#include<list>
#include<deque>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<complex>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#define LL long long
#define RG register
using namespace std;
int mod[5]={12343,19997,21121,13577,15683};
LL a[110],n,m,cnt,sum;
LL ans[1000010];
char s[110][10010];
void make(LL MOD){
for(int i=1;i<=n+1;++i){
LL x=0,len=strlen(s[i]);int f=1;
for(int j=0;j<len;++j){
if(s[i][j]=='-')f=-1;
else x=x*10+s[i][j]-48,x%=MOD;
}a[i]=(x*f)%MOD;
}
}bool yes[1000010];
int main(){
freopen("equationa.in","r",stdin);
freopen("equationa.out","w",stdout);
scanf("%lld%lld",&n,&m);
for(RG int i=1;i<=n+1;++i)scanf("%s",s[i]);memset(yes,true,sizeof(yes));
for(int i=1;i<=5;++i){
make(mod[i]);
for(RG int k=1;k<=mod[i];++k){
sum=0;
for(RG int j=n+1;j;--j)sum=sum*k+a[j],sum=(sum+mod[i])%mod[i];
if(sum)yes[k]=false;
}
for(int k=mod[i]+1;k<=m;++k)
yes[k]=yes[k-mod[i]];
}for(int i=1;i<=m;++i)if(yes[i])ans[++ans[0]]=i;
for(RG int i=0;i<=ans[0];++i)cout<<ans[i]<<'\n';
return 0;
}

题目 1808 [NOIP 2014]解方程
2017-07-01 22:53:06
Gravatar
kilometer
积分:107
提交:30 / 229
只过了5个点..........why......

Gravatar
Go灬Fire
积分:3414
提交:1738 / 3778
回复 @Asm.Def :
%%%,一开始选的素数较大,T成xiang
后来看了评论把素数√100*100000 即10000左右就A了,

Gravatar
Rapiz
积分:1619
提交:386 / 700
乘法之前不取模 这样错好几次了……

题目 1808 [NOIP 2014]解方程
2016-11-04 15:31:50
Gravatar
AntiLeaf
积分:3396
提交:1527 / 4369
选了8个素数...压力略大......

Gravatar
森林
积分:1269
提交:549 / 1509
回复 @安吶。 :
我也是这样觉得的额!!!!!!!!
恶心的要死!!!!!

Gravatar
安呐一条小咸鱼。
积分:1941
提交:751 / 1825
自己都觉得自己的码风恶心..

Gravatar
半汪
积分:1976
提交:508 / 1308
回复 @红莲之心炽热_血瞳洞穿无尽阴暗 :
看了评论也忘了取模的人沉默

题目 1808 [NOIP 2014]解方程
2016-10-06 19:23:27
Gravatar
_Itachi
积分:4326
提交:1498 / 3922
我天呢!我竟然和phx学长犯的一模一样的错误!白让我调了半小时,不看评论太浪费时间了!

题目 1808 [NOIP 2014]解方程
2016-10-06 15:00:34
Gravatar
_Itachi
积分:4326
提交:1498 / 3922
70分知足了

题目 1808 [NOIP 2014]解方程
2016-10-06 14:51:03
Gravatar
KZNS
积分:2672
提交:581 / 1231
论多重hash的玄学性。。。

Gravatar
confoo
积分:899
提交:221 / 728
质数取太大就没的优化了

Gravatar
<蒟蒻>我要喝豆奶
积分:848
提交:242 / 543
我看模拟抱着AC希望的人还不少

题目 1808 [NOIP 2014]解方程
2015-10-16 21:36:19
Gravatar
/k
积分:1687
提交:345 / 543
突破1000分留念

Gravatar
dydxh
积分:530
提交:87 / 174
...这个OJ不开优化是不是也自带了一些优化开关...别的OJ超时的题..在这儿秒过....

题目 1808 [NOIP 2014]解方程
2015-07-25 17:30:46
Gravatar
天一阁
积分:1726
提交:544 / 1314
坑啊,调了半天原来是x没有取模

Gravatar
cstdio
积分:4748
提交:1198 / 2108

Gravatar
Asm.Def
积分:1019
提交:240 / 495
好了金策(JCVB)的满分做法就是现在这个了……首先确定大体做法是hash,然后,类似大步小步算法,先找出一个素数$p_0$,求出模$p_0$剩余系中可能是答案的同余等价类,然后再随机取一些素数在$[1, m]$中对所有可能是答案的模$p_0$同余等价类中的元素进行检验。时间复杂度$O(n (\frac{mn}{p_0} + p_0))$,用不等式知识容易证明$p_0$取在$\sqrt{mn}$附近是最优的($O(n\sqrt{mn} )$ )。