如果你是正解,但 TLE 15 分,或者 MLE 90 分
查看原帖
如果你是正解,但 TLE 15 分,或者 MLE 90 分
416975
sbno333楼主2024/10/17 12:44

对于前者,请使用gp_hash_table<signed, signed> zz;,速度优化程度非常大,同时注意你的复杂度是否除以了那半只 log\log

对于后者,尽量不要套函数。

MLE:

inline int llg(int x){
	x%=p;
	if(x<=sqrt(p+3)){
		return bg[x]%hi;
	}
	if(x==p-1){
		return ccc%hi;
	}
	int v,r;
	v=p/x;
	r=p%x;
	if(r<x-r)
	return (llg(p-1)+llg(r)-llg(v)+hi)%hi;
	else
	return (llg(x-r)-llg(v+1)+hi)%hi;
}

TLE:

inline int llg(int x){
	if(x<=sqrt(p+3)){
		return bg[x]%hi;
	}
	if(x==p-1){
		return ccc%hi;
	}
	int v,r;
	v=p/x;
	r=p%x;
	if(r<x-r)
	return (ccc%hi+llg(r)-bg[v]%hi+hi)%hi;
	else
	return (llg(x-r)-bg[v+1]%hi+hi)%hi;
}
2024/10/17 12:44
加载中...