[Luogu]P4994
分析
枚举n…判断是否满足$\mathrm{fib}(n) \bmod M = 0, \mathrm{fib}(n + 1) \bmod M = 1$
不过如果直接模拟的话,可能会爆空间
于是进行一个小小的优化:
迭代!
我们可以令$f0=0,f1=1;$
然后在递推的时候$f2=(f0+f1) \bmod M;$
然后迭代:$f0=f1,f1=f2;$
就可以极大地节省空间!
代码
1 |
|
枚举n…判断是否满足$\mathrm{fib}(n) \bmod M = 0, \mathrm{fib}(n + 1) \bmod M = 1$
不过如果直接模拟的话,可能会爆空间
于是进行一个小小的优化:
迭代!
我们可以令$f0=0,f1=1;$
然后在递推的时候$f2=(f0+f1) \bmod M;$
然后迭代:$f0=f1,f1=f2;$
就可以极大地节省空间!
1 | #include<cstdio> |