求大的组合数C(n,m)对一些素数pi的乘积取模,n,m <= 10^18,pi <= 10^5,素数的个数不超过10个
先用Lucas求C(n,m) % pi的值,这样就得到了一些对形如 x % p1 = a1,x % p2 = a2,x % p3 = a3,这样就可以对p,和a用中国剩余定理,求出最小的x,这个x就是( n choose m ) % (prod_{p_i} )
Lucas 处理的时候 long long * long long mod m 会爆 long long,可以用慢速乘,慢速乘一定要把非负数放在幂的位置上
Accepted 5446 31MS 1412K 1700 B G++