a[1]=a[2]=a[3]=1
a[x]=a[x-3]+a[x-1] (x>3)
求a數列的第n項對1000000007(10^9+7)取餘的值。
輸入格式:
第一行乙個整數t,表示詢問個數。
以下t行,每行乙個正整數n。
輸出格式:
每行輸出乙個非負整數表示答案。
矩陣加速裸題
和我的前一篇基本一模一樣
只不過改變了要乘的矩陣,
變為了:
矩陣快速冪即可
詳細講解請見:link1
link2
//luogu-judger-enable-o2
#include#include
#include
#define mod 1000000007
#define rii register int i
#define rij register int j
#define rik register int k
using
namespace
std;
struct
jx,y,z;
long
long
n,t;
j cheng(j l,j r)
an.jz[i][j]=ans;}}
return
an;}
void pw(j k,long
long
c)
if(c%2==1
)
else
}int
main()
memset(x.jz,
0,sizeof
(z.jz));
memset(y.jz,
0,sizeof
(y.jz));
y.jz[
1][1]=1
; y.jz[
2][2]=1
; y.jz[
3][3]=1
; x.jz[
1][1]=1
; x.jz[
1][2]=1
; x.jz[
3][1]=1
; x.jz[
2][3]=1
; pw(x,n-1
); cout
<1][1]<}
}
矩陣加速遞推
關於矩陣加速數列遞推 給定乙個遞推數列 f i a 1 f i 1 a 2 f i 2 a k f i k 我們普通計算的話肯定是逐個計算,複雜度較大。我們可以用矩陣表示 left begin f i f i 1 f i k end right 為了遞推出 f n 我們需要找到乙個係數矩陣 a 使得...
矩陣性質 矩陣加速遞推
本文介紹線性代數中乙個非常重要的內容 矩陣 matrix 的乙個重要性質 矩陣加速遞推同時本文已經更新至 矩陣 matrix 系統介紹篇 斐波那契數列 fibonacci sequence 大家應該都非常的熟悉了。在斐波那契數列當中,f 1 f 2 1 f i f f i geq 3 如果有一道題目...
矩陣加速數列遞推
zoj problem set 3690 code include include using namespace std struct matrix matrix matrix operator const matrix t const undef mod undef maxn int main ...