Problem B. Harvest of Apples

古人学问无遗力,少壮工夫老始成。这篇文章主要讲述Problem B. Harvest of Apples相关的知识,希望能为你提供帮助。
【Problem B. Harvest of Apples】

Problem B. Harvest of Apples

文章图片

PS:没看出这个可以离线。。。官方题解
Problem B. Harvest of Apples

文章图片

标程貌似不是常规莫队的写法,同一个块内,没有对 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;

 

    推荐阅读