用矩陣乘法優化的線性齊次遞推公式求值

用矩陣乘法優化的線性齊次遞推公式求值


對斐波那契數列,

(fn,fn1)(1110)=(fn+1,fn)

這樣的話我們可以在常數時間內求出這個通項的下一項。而如果要求第n項,就相當於對這個矩陣進行冪運算。
有沒有想到些什麼?沒錯,見冪就開始快速冪。複雜度logn,比線性求不知道高到哪裏去了。
那麼能不能進一步推廣?當然可以。
如果f(n)=a1f(n1)+a2f(n2)+...+akf(nk)
那麼顯然,
(fn,fn1,...,fnk+1,fnk)a1a2...ak1ak10...0001...00...............00...0000...10=

(fn+1,fn,...,fnk+2,fnk+1)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章