洛谷P1962 斐波那契數列題解

2022-03-14 22:28:02 字數 1035 閱讀 3523

• f(1) = 1

• f(2) = 1

• f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 為整數)

請你求出 f(n) mod 1000000007 的值。

·第 1 行:乙個整數 n

第 1 行: f(n) mod 1000000007 的值

對於 60% 的資料: n ≤ 92

對於 100% 的資料: n在long long(int64)範圍內。

\(\displaystyle \beginl}}

\ 現在我需要求的矩陣是:\\

\begin

f[ i]\\

f[ i-1]

\end\\

根據題目中給出的條件:f[ i] =f[ i-1] +f[ i-2]\\

下一步求f[ i+1]\\

所以求初始矩陣為\\

\begin

1 & 1\\

1 & 0

\end\\

對初始矩陣進行矩陣快速冪然後輸出a[ 1][ 1]

\end\)

#include #include #include #include #include #include #define re register

#define max 200000012

#define int long long

int n;

const int mod=1000000007;

struct mat

inline void build()

};mat operator*(mat &a,mat &b)

mat a;

mat quick_mat(int x)

return ans;

}signed main()

mat ans=quick_mat(n-2);

ans=ans*b;

printf("%lld",ans.a[1][1]);

return 0;

}

洛谷P1962 斐波那契數列

f 1 1 f 2 1 f n f n 1 f n 2 n 2 且 n 為整數 請你求出 f n mod 1000000007 的值。輸入格式 第 1 行 乙個整數 n 輸出格式 第 1 行 f n mod 1000000007 的值 輸入樣例 1 5 輸出樣例 1 5 輸入樣例 2 10 輸出樣例...

洛谷P1962 斐波那契數列

f 1 1 f 2 1 f n f n 1 f n 2 n 2 且 n 為整數 請你求出 f n mod 1000000007 的值。輸入格式 第 1 行 乙個整數 n 輸出格式 第 1 行 f n mod 1000000007 的值 輸入樣例 1 5 輸出樣例 1 5 輸入樣例 2 10 輸出樣例...

洛谷 P1962 斐波那契數列

f 1 1 f 2 1 f n f n 1 f n 2 n 2 且 n 為整數 請你求出 f n mod 1000000007 的值。矩陣快速冪 斐波那契數列通項公式為 f i f i 1 f i 2 相當於dp的轉移方程是一致的,那麼初始矩陣 0 1 不斷去乘上狀態轉移矩陣,即不斷進行矩陣運算,最...