求斐波那契第n項。
[f(n-1) f(n)] * [0,1] = [f(n) f(n+1)]
[1,1]
由此原理,根據矩陣乘法的結合律,用快速冪算出中間那個矩陣的n次方即可。
快速冪本質和普通快速冪一模一樣,只是乘法操作換成了矩陣的乘法,可以過載。
//stay foolish,stay hungry,stay young,stay ******
#include
#include
using
namespace
std;
const
int mod=1000000007;
typedef
long
long ll;
ll n;
struct mat
};mat mut(mat x,mat y)}}
return ret;
}mat mpow(mat x,ll t)
return ret;
}int main()
Luogu P1962 斐波那契數列
大家都知道,斐波那契數列是滿足如下性質的乙個數列 f 1 1 f 2 1 f n f n 1 f n 2 n 2 且 n 為整數 求出 f n mod 1000000007 的值。對於 60 的資料 n 92 對於 100 的資料 n在long long int64 範圍內。一道矩陣乘法的模版題.某...
斐波那契數
入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...
斐波那契數
斐波那契數列 fibonacci sequence 簡介 斐波那契數列 fibonacci sequence 又稱 分割 數列 因 數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 ...