#34953: 解題報告


dfd8282@gmail.com (fishhh)

學校 : 嘉義市私立嘉華高級中學
編號 : 99760
來源 : [140.114.59.162]
最後登入時間 :
2024-11-13 00:16:45
d644. 壞脾氣小小皮 -- jack1 | From: [36.239.17.56] | 發表日期 : 2023-04-29 10:41

在想的時候先別急著把那個 -1 加進去

可以先這樣看

1_1_2_3+(-1)_5+(-1)_8+(-2)_13+(-3)+(-1)_21+(-5)+(-1)_34+(-8)+(-2)

可以發現,求第 n 項的時候可以是費氏數列第 n 項減掉 費氏數列的 n-3 , n-6 ...

假設今天要求的是第 10 項 根據上面就會等於是 f(10) - (f(7)+f(4)+f(1))

把 f(7) +f(4) +f(1) 換成以下的形式看一下

f(n) 1 1 2 3 5 8 13 21

cnt 1 0 0 1 0 0  1   0

乍看之下好像沒什麼幫助

試著把它 乘2 看看

f(n) 1 1 2 3 5 8 13 21 34

cnt 2 0 0 2 0 0  2   0   0

因為 f(n) = f(n-1) + f(n-2)

所以我們可以轉成這樣

f(n) 1 1 2 3 5 8 13 21 34

cnt 2 1 1 1 1 1  1   0   0

從 f(1) + f(2) 一路加上去 就會變成

結論就是 2*(f(7)+f(4)+f(1)) 最後變成 f(9) 了 可以先粗略地得知 答案就是 f(n) - f(n-1)/2

抓 f(8) = 21 來說 根本不會像是 2*(f(6)+f(3))

所以給他偷偷捕一個 1 上去 就可以滿足上面那個推法了

阿那個 1 也會在做整數除法的時候被捨去 所以結論跟上面那個是一樣的~

 
ZeroJudge Forum