WC2021 斐波那契
这种分析的方法太经典了。
设 \(f_0=0,f_1=,f_{n}=f_{n-2}+f_{n-1}\),\(f_n\) 就是常见的斐波那契数列,易得 \(F_n=af_{n-1}+bf_{n}\)。
于是我们只需找出最小的 \(n\) 使得 \(a'f_{n-1}\equiv b'f_{n}\pmod m\),如果 \(m\) 是质数我们可以直接预处理(这里用到结论 \(f\) 的循环节是 \(O(m)\) 的)。
否则考虑除掉 \(\gcd(a',b',m)\),变成 \(a_1f_{n-1}\equiv b_1f_{n}\pmod {m_1}\),注意到这时还是有可能不互质。
但是相邻斐波那契数是互质的,记 \(p=\gcd(a_1,m_1)=\gcd(f_n,m_1),q=\gcd(b_1,m_1)=\gcd(f_{n-1},m_1)\),可以再除掉这个 \(p,q\)。于是有 \(a_2f_{n-1}\equiv b_2f_{n}\pmod {m_2}\),这时直接预处理 \(\dfrac{f_{n}}{f_{n-1}}\bmod m_2\) 即可。
用一个三元组维护 \((p,q,\dfrac{f_{n}}{f_{n-1}})\) 维护即可。
标签:gcd,pmod,互质,斐波,22.3,dfrac,杂题,equiv From: https://www.cnblogs.com/zcr-blog/p/17400365.html