给定正整数 $n,m,a,c,X[0],g$ ,求按照 $X[n+1] = (a X[n] + c) \bmod m$ 生成出的第 $n$ 项 $X[n] \bmod g$ 的值。
数据范围: $n,m,a,c,X[0] \leq 10^{18}$
链接
题解
构造转移矩阵:
$$
\left[\begin{matrix}
a & c \
0 & 1
\end{matrix}\right]
\times
\left[\begin{matrix}
x _ {n}\
1
\end{matrix} \right]
\left[\begin{matrix}
a x_n + c \
0 + 1
\end{matrix} \right]
\left[\begin{matrix}
x _ {n+1} \
1
\end{matrix} \right]
$$
快速幂即可。
这里的乘法需要快速乘。
代码
|
|