【震惊】大常数 求助一个及其迷惑的(常数?)问题
查看原帖
【震惊】大常数 求助一个及其迷惑的(常数?)问题
277792
Delov楼主2022/2/8 19:45

AC TLE

两份代码中只有第21,22行,也就是

//for(int i=0;i<=ct;++i)res+=dfs(len-1,(rest*10+i)%mod,sit|(i>1 ? (1<<(i-2)) : 0),limit&&(i==ct));
//for(int i=0;i<=ct;++i)res+=dfs(len-1,(rest+i*pw[len-1]%mod)%mod,sit|(i>1 ? (1<<(i-2)) : 0),limit&&(i==ct));

这两句不同

而这两句也只有

(rest*10+i)%mod
(rest+i*pw[len-1]%mod)%mod

不同

但是AC代码比TLE的代码快了至少十倍,经过验证确实就是这一句话出了问题

而且我们经过一些优化,比如让TLE的代码只执行一次memset,AC代码仍旧比TLE的代码快两倍,而AC代码每次都要memset

求各位大佬解答

2022/2/8 19:45
加载中...