BZOJ 1951: [Sdoi2010]古代猪文 (数论各种定理)

题目链接

题意:给你N,G, 求G^( sigma( C(N, d) ) ) % MOD, d为N的因数 , MOD = 999911659

思路:根据 指数循环节 可知ans = G^( sigma( C(N, d) )%(MOD-1) + MOD-1 ) %MOD

因为MOD-1拆成素数相乘为2*3*4679*35617,根据Lucas定理求出sigma(C(N, d)) % m, m = 2, 3, 4679, 35617,因为模都是互质的素数,然后用中国剩余定理合并,然后快速幂即可。注意有个trick,G如果等于MOD,那么直接要输出0!



你可能感兴趣的:(BZOJ 1951: [Sdoi2010]古代猪文 (数论各种定理))