題目描述:
給你乙個遞推公式:
f(x)=a*f(x-2)+b*f(x-1)+c
並給你f(1),f(2)的值,請求出f(n)的值,由於f(n)的值可能過大,求出f(n)對1000007取模後的值。
注意:-1對3取模後等於2
解題思路:如果單純的用遞推來做的話鐵定超時,因為n可能很大。因此可以將遞推公式轉換成矩陣來做。
由此可以聯想到fibonacci數列的遞推公式:fn
= fn
− 1 + fn
− 2轉換為矩陣即為:
NYOJ301 遞推求值
遞推求值 nyoj上矩陣專題裡的10道題水了ac率最高的5道,慚愧,還不是完全自己寫的,用了幾乎兩周的時間。模板題我是有自信寫出來的,但對於高階一點的矩陣構造,我還是菜的摳腳。這題感謝mql大哥和她女票指點,自己想了一天不會構造矩陣,然後兩位巨巨一起討論了一下,瞬間明白了。此題關鍵就是在於這個矩陣構...
NYOJ 301遞推求值
時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述給你乙個遞推公式 f x a f x 2 b f x 1 c 並給你f 1 f 2 的值,請求出f n 的值,由於f n 的值可能過大,求出f n 對1000007取模後的值。注意 1對3取模後等於2 輸入第一行是乙個整數t,表示...
nyoj 301 遞推求值 矩陣冪
給你乙個遞推公式 f x a f x 2 b f x 1 c 並給你f 1 f 2 的值,請求出f n 的值,由於f n 的值可能過大,求出f n 對1000007取模後的值。注意 1對3取模後等於2 在濤神的協助下構造出來的矩陣 貌似發表了就格式亂了,空格用 表示 fn.b.a.1.fn 1 fn...