hrbust 1430 矩陣快速冪

2021-07-26 10:59:15 字數 1463 閱讀 1798

第一次接觸矩陣快速冪

懂了大題的思想

矩陣推理的時候有點問題

這題是我們求出

向上三角行的個數

套用學長的圖

序號向上的三角形個數

向下的三角形個數01

0131

21063

3628

不難觀察出規律 ,規律如下

.遞推公式

向上的三角

shang[i]=3*shang[i-1]+xia[i-1]

向下的三角

xia[i]=3*xia[i-1]+shang[i-1];

遞推出規律

然後我們就可以知道了

我們需要的矩陣是 31

13神秘植物

time limit: 1000 ms

memory limit: 65536 k

total submit: 89(41 users)

total accepted: 40(34 users)

rating:

special judge: no

description

leyni

有一種神秘的植物,形狀是一種「向上」三角形植物,每過一年,每個「向上」三角形植物會變成三個「向上」三角形植物和乙個「向下」三角形植物,每個「向下」三角形植物會變成三個「向下」三角形植物和乙個「向上」三角形植物。如下圖:

想知道經過

n年有多少個「向上」三角形植物。

input

輸入包含多組測試資料。

對於每組測試資料: 第1

行,包含乙個整數

n(0 ≤ 

n≤ 1018)

處理到檔案結束

output

對於每組測試資料: 第1

行,輸出

leyni

擁有多少個「向上」三角形植物。

(mod 1000000007)

sample input1 2

sample output

3 10

author

齊達拉圖@hrbust

剩下的就是套**了

#include

#define mod 1000000007

#define ll long long

struct nana

h,l;

nana juzhen(nana a,nana b)}}

return temp;

}ll zzz(ll n)

}l.m[0][0]=3;

l.m[0][1]=1;

l.m[1][0]=1;

l.m[1][1]=3;

while(n)

return h.m[0][0];

}int main()

}

HRBUST 1430 矩陣快速冪

沒錯就是這道模板題我做了乙個小時.我居然在看第一眼就認為是快速冪的情況下強行找了一發瞬時求出的規律 每個階段有黑白兩種 a i black a i 1 black 3 a i white a i white a i 1 black a i 1 white 3 求每個階段的black include ...

快速冪(矩陣快速冪)

求 3 0 3 1 3 n mod 1000000007 input 輸入乙個數n 0 n 10 9 output 輸出 計算結果 sample input 3sample output 40 分析 利用等比數列的求和公式得所求和是 3 n 1 1 2,如果暴力求3 n 1 會超時,這裡引入快速冪來...

快速冪 矩陣快速冪

快速冪 正常情況下求乙個數的冪時間複雜度為o n 而快速冪能把時間複雜度降到o logn 舉個例子 求5的13次方 思想首先把13化為二進位制 1101,即13 1101 8 1 4 1 2 0 1 1 即5 13 58 1 54 1 52 0 5 1 15 5 8 1 5 4 1 5 2 0 5 ...