今天的牛客网比赛的第二题一脸懵逼啊。。赛后看别人代码才知道了一种新的组合数公式计算方法。
(a/b)%mod这个a/b在b比较大的时候在计算机里的精度有损失,所以我们将它转化为(a*c)%mod的形式,
这里引入逆元的概念:(b*c)=1(%mod) ,那么(a/b)%mod=(a*c)%mod,这里就避免了精度损失。
逆元的求法有好几种方法,我学了费马小定理,以后再补上其他的方法。
费马小定理:
设inv[i]为i的逆元。
费马小定理
a^(p-1) ≡1 (mod p)
两边同除以a