P3986 斐波那契数列
idea:
观察性质,应用扩展欧几里得算法。
解决方案:
首先观察到一个性质:由于 a,b>0 ,对于所有 i≥2 ,有 fi>fi−1 ,故有 fi+1=fi−1+fi>2⋅fi−1 。这说明 k 最多只可能 O(logk) 项。故 k 出现在第几项是可以枚举的。
然后我们发现:对于所有 i≥2 ,都可以将 fi 写成 pi⋅a+qi⋅b 的形式且 pi,qi>0 。不仅如此,还有 pi=fibi−2,qi=fibi−1 。这个时候可以使用扩欧求解了。更加让人开心的是,由于 qi 和 pi 是 fib 的相邻两项,它们是互质的。
时间复杂度大约是 O(log2k) 。