HDU 4335 What is N?(指数循环节)题解 题意: 询问有多少数nn满足nn!≡bmodp∧ n∈[1,M]nn!≡bmodp∧ n∈[1,M],数据范围:M≤264−1,p≤1e5M≤264−1,p≤1e5 思路: 这题显然要用欧拉降幂,n!n!小于φ(p)φ(p)的直接暴力算,n!≠0modφ(p)n!≠0modφ(p)也直接暴力。 n!≡0mod...
数论+ 公式 - HDU 4335 What is N?What is N? #Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=4335 #Mean: 给你三个数b、P、M,让你求有多少个n满足下式。analyse: 看到数据被吓到了,没半点思路,后来看了解题报告,方法竟然是暴力!当然暴力是有条件的。
%phi(p)会出现0,这是必然的,至少n>=phi(p)为0, 那么(n+1)!%phi(p)也为0,这便出现了重复,转变为n^(phi(p))%p==b的问题了。 固定了指数,根据鸽巢原理,余数是循环的,那么只要找出p个的结果,之后通过循环节求解便可以了。 Trick:当P为1的时候,b为0,这时候答案是m+1,不过m可能为2^64-1,如果...
有欧拉定理我们知道 n^(phi(p)) ≡ 1 (mod p) 但是这里要求gcd(n, p) = 1,显然题目并没有这么要的数据,那么如果题目给定是满足n,p互质的话,那么我们就可以知道 n^(x) mod p 是有循环节的,这个循环节就是n^(phi(p)),如果n,p不互质的话,那么我们可以证明这个循环节 T | phi(p),所以我们还是...
HDU4335 What is N? [数论(欧拉函数)] 这就是大神口中的简单题,我的数论简直烂到不行,这些数学出身的家伙何必出这些恶心的数学题来难为我们呢。。 用到一个公式 A^x%P=(A^(x%phi(P)+phi[P]))%P (x>=phi[C]),phi[C]表示欧拉函数。
}if(n !=1) ans = ans/n*(n-1);returnans; }LLqpow(LL q,LL a,LL m)//快速幂{ LL ans =1; q %= m;while(a >0) {if(a&1) ans = ans * q % m; q = q*q % m; a >>=1; }returnans; }constintLEN =1e5+200; ...