模板 矩陣加速(數列)(矩陣加速遞推)

2022-02-27 06:34:22 字數 1288 閱讀 2340

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 ...