HDU 4549 M斐波那契数列(矩阵快速幂+费马小定理)
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37868325/article/details/88849825 题意: 现在给出a, b, n,你能求出F[n]的值吗? Input 每组数据占一行,包含3个整数a, b, n( 0 <= a, b, n <= 10^9 ) Output 对每组测试数据请输出一个整数F[n],由于F[n]可能很大,你只需输出F[n]对1000000007取模后的值即可,每组数据输出一行。 Sample Input 0 1 0 6 10 2 Sample Output 0 60 设 ,很容易推出。 则 ,求出ab的指数后,在快速幂就可以了 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; #define maxn 10 #define mod 1000000007 ///n行m列的矩阵 struct AA { ll n,m,a[maxn][maxn]; void mem1() { memset(a,0,sizeof(a));///n=m时,初始化为单位阵 for(int i=0;i<n;i++) a[i][i]=1; } }; ///n行m列的aa矩阵 * m行k列的bb矩阵 AA mul(AA aa