OJ 中经常要对 1e9+7(1000000007) 取模

发布时间 2023-07-03 18:02:13作者: BlueValentines
首先 int 的大致范围 2e9
int -2147483648~2147483647

  其次很多题目的答案是很大的,然而出题人的本意也不是让选手写高精度或者Java,所以势必要让答案落在整型的范围内。那么怎么做到这一点呢,对一个很大的质数取模即可。如果您学过哈希表的设计的话,应该知道对质数取模的话,能尽可能地避免模数相同的数之间具备公因数,来达到减少冲突的目的。那么有个很大的且好记的质数1e9+7(包括它的孪生素数1e9+9)。

  取模既避免了高精度运算,又能保证极少的冲突情况,可以说如果在模意义下跟答案一样,那么就相信你得到了正确答案。

如:LC 1575. 统计所有可行路径