二次剩余 + $BSGS$ .
这个题可以暴力水过去.先找出模 $P=10^9+9$ 意义下的循环节,发现是 $\frac {P-1} 3$ .于是 $O(\frac {P-1} 3)$ 暴力判.
- 考虑正经一点的,比较优秀的做法.记 $\phi=\frac {\sqrt 5+1} 2$ ,则数列第 $n$ 项 $F_n=\frac 1 {\sqrt 5} \cdot (\phi^n-(-\frac 1 \phi)^n)$ .
- 注意 $5$ 在模 $P$ 意义下可以开根号,记开出来的根为 $k=383008016$ ,答案为 $x$ ,那么要解的方程化为,
$$
\phi^x-(-\frac 1 \phi)^x=k\cdot n
$$
- 换元,令 $t=\phi ^x$ ,则方程化为,
$$
t^2-(-1)^x\cdot=(k\cdot n)t
$$
- 得到了 $t$ 的一元二次方程,对 $x$ 为奇数/偶数分别求解.若 $\Delta$ 不为二次剩余,则无解.
- 否则,求根公式解得 $t$ ,再根据 $t=\phi ^x$ 用 $BSGS$ 解出最小 $x$ .
- 瓶颈在 $BSGS$ 上,时间复杂度 $O(\sqrt P)$ .
暴力
1 |
|
正经做法
1 |
|