LUOGU P1962 斐波那契數列

2021-08-17 21:11:28 字數 565 閱讀 9811

求斐波那契第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 ...