說在前面
你可能看過lym一年前在csdn上寫的\(\mathcal{O}(\log{n})\)求解Fibonacci數列前\(n\)項,現在看來這篇文章真的屑。
不過我們今天不講這玩意,今天我們講關於Fibonacci數列的生成函數(又稱母函數)和其通項的推導,學過的不用往下看了,這玩意真的很基礎。不過沒學過生成函數(甚至連通項都不知道是啥)的也建議先補補課再來。
關於Fibonacci數列
斐波那契數列是這樣的一個數列:\(0,1,1,2,3,5,8,\cdots\)
設\(f_n\)為它的第\(n\)項,那么它的遞推公式:
生成函數與通項
想必大部分人都知道\(f_n = \dfrac{1}{\sqrt{5}}\left[\left(\dfrac{1 + \sqrt{5}}{2}\right) ^ n - \left(\dfrac{1 - \sqrt{5}}{2}\right) ^ n\right]\)
但是怎么得到的呢?
我們考慮求出其生成函數。
設Fibonacci的生成函數是\(F(x)\),有
顯然有\(F(x) - xF(x) - x^2F(x) = x\)
整理一下發現\(F(x) = \dfrac{x}{1 - x - x^2}\)
然后我們就考慮證明\(\dfrac{x}{1 - x - x^2} = \dfrac{1}{\sqrt{5}}\left[\left(\dfrac{1 + \sqrt{5}}{2}\right) ^ n - \left(\dfrac{1 - \sqrt{5}}{2}\right) ^ n\right]\)
這玩意太好整了啊。
考慮配方。
解得
得
裂個項,易得
通過一開始我們給的式子,可以求出第\(n\)項的系數
題外話
這玩意還有其他許多神仙方法可以整,包括一些初等的數列知識,高到一些特征向量等,我們只能不斷地學習。
