今天见到一个帖子,说“为啥 CF 用 1e9+7 和 998244353 取模更快,比其他模数快好几倍”。
我的回答是:“如果你的模数是输入的参数,那就会慢。”
而谷友 @Daniel_lele 认为“cf 在编译器上做手脚,对这个模数做了特殊对待”。
可惜这个帖子已经被删了,我希望这个知识能够传播出去,不能只让我和他两个人学到。
我做了如下测试,证明不论是别的平台还是 cf ,都没有去特殊对待某个模数。
2044毫秒,1000000007
2110毫秒,1000000009
也欢迎大家用这段代码贴到 cf 改模数,做测试。