「CodeForces-919E」Congruence Equation
给定a,b,n,p,求关于n的方程n⋅a^n≡b(mod p)在[1,x]中整数解的数量
题解
对原式$k cdot a^k equiv b quad (textrm{mod};p)$,考虑消去指数。由费马小定理,对质数$p$,有$a^{(p-1)} equiv 1 quad (textrm{mod};p)$。
令$k=xcdot(p-1)+y$,则原式转化为
$$(xcdot(p-1)+y)cdot a^{xcdot(p-1)+y} equiv b quad (textrm{mod};p)$$
$$(xcdot(p-1)+y)cdot a^{y} equiv b quad (textrm{mod};p)$$
$$xcdot(p-1)+y equiv b cdot a^{-y}quad (textrm{mod} p)$$
$$xequiv y-b cdot a^{-y}quad (textrm{mod} p)$$
问题转化为求$xequiv y-b cdot a^{-y}quad (textrm{mod} p)$在$(xcdot(p-1)+y)∈[1,n]$中解的个数。
枚举$y∈[0,p-2]$,计算$x$的个数,其中若$x,y$均为0时$n=0$,需要减去。
代码
1 |
|
近期评论