论ACM中的mod

算是总结几点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,不会出现问题

全部评论

相关推荐

浪子陪都:简历最优秀的地方放到了后面,国奖,校级奖学金这些是最亮眼的。说明你跟同级别的学生不一样。 建议台灯这个,PCB布局布线这个词汇不专业,业内是PCB Layout,第二,单片机的板子一般不用考虑SI,PI 都是低速信号,只要遵循3W原则就好了。 单片机的项目太low了,技能这块,你要看一下BOSS直聘的招聘要求,按照别人的要求写,一些关键词可以增加你简历被检索到的概率。 主修课程不用写,这个没有人去关注的。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务