社区讨论

萌新求助

P3846【模板】BSGS / [TJOI2007] 可爱的质数参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lod2glj8
此快照首次捕获于
2023/10/30 23:40
2 年前
此快照最后确认于
2023/11/05 09:58
2 年前
查看原帖
这题如果用 BSGSBSGS 的话储存那边如果用 HashHash 要怎么写啊,我总是 WA0
CPP
void solve(){
	int p=read(),a=read(),b=read(),mi=a;
	int kc=sqrt(p);if(kc*kc!=p) kc++;
	for(int i=1;i<=kc;i++,i<=kc?(mi*=a)%=p:0) Hash[Get_Hash(mi*b%p)]=i;
	for(int i=1,A=mi;i<=kc;i++,(A*=mi)%=p){
		int get=Hash[Get_Hash(A)];
		if(get) return (void)(printf("%lld\n",i*kc-get));
	}
	printf("no solution\n");
}

回复

2 条回复,欢迎继续交流。

正在加载回复...