论ACM中的mod

来源:互联网 发布:大数据标准化 编辑:程序博客网 时间:2024/06/04 19:28

算是总结几点mod的坑点吧

A:(a*b)%mod = (a%mod)*(b%mod)%mod

这个性质在a和b是大数的时候是有用的

B:快速幂中,求a^b%mod

C:算是个细节

有的编译器,计算5%3=2;有的算出来5%3=-1

为了避免两种的差别

我们统一用:ans=(ans+mod)%mod

就可以把这个都化成正的最小的那个啦

D:请问:

ans=ans*((n-m+i)*(quickpow(i,mod-2)%mod))%mod;ans=ans*((n+i-m)*quickpow(i,mod-2)%mod)%mod;

上两行式子有什么区别吗?

第二行是更好的写法!

仔细分析分析,注意括号

发现,第一个式子是先对quick取模的,再乘(n+i-m),再乘ans,可能爆炸int,也可能爆炸long long

第二个式子呢,括号里的两项是对mod取模了,再乘ans,不会出现问题

0 0
原创粉丝点击