码迷,mamicode.com
首页 > 移动开发 > 详细

Problem B. Harvest of Apples

时间:2018-08-02 13:57:40      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:nbsp   官方   技术分享   problem   一个   --   莫队   val   处理   

技术分享图片

PS:没看出这个可以离线。。。官方题解

技术分享图片

标程貌似不是常规莫队的写法,同一个块内,没有对 r 排序,优先处理每个块的答案。学习到了阶乘逆元的递推公式。

inv[mx] = powi(fac[mx], mod - 2);
for(int i = mx - 1; ~i; i--) inv[i] = 1ll * inv[i + 1] * (i + 1) % mod;

避免加法溢出

while(in < lst[i][j].n) val = (0ll + val + val + mod - C(in++, ik)) % mod;

避免乘法溢出

for(; b; b >>= 1, a = 1ll * a * a % mod) if(b & 1) c = 1ll * c * a % mod;

避免减法取模溢出

while(ik > lst[i][j].k) val = (val + mod - C(in, ik--)) % mod;

 

Problem B. Harvest of Apples

标签:nbsp   官方   技术分享   problem   一个   --   莫队   val   处理   

原文地址:https://www.cnblogs.com/zgglj-com/p/9406625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!