@TLE on #11
查看原帖
@TLE on #11
179253
无尽星空楼主2021/7/23 20:05

用C++ mapmap 能过

当你在 mapmap 中查找时

for(int i=1,tmp=ak;i<=k;i++,tmp=1ll*tmp*ak%p)
	if(h[tmp])  return i*k-h[tmp]+1;

这样会T

for(int i=1,tmp=ak;i<=k;i++,tmp=1ll*tmp*ak%p)
	if(h.find(tmp)!=h.end())  return i*k-h[tmp]+1;

这样会A

原因(据本校大佬):前者若未找到 h[tmp]h[tmp] ,会创建一个 h[tmp]h[tmp] ;而后者不会

2021/7/23 20:05
加载中...