hdu 1005 構造矩陣基礎題

2021-06-22 20:17:16 字數 785 閱讀 4232

題意

a number sequence is defined as follows:

f(1) = 1, f(2) = 1, f(n) = (a * f(n - 1) + b * f(n - 2)) mod 7.

given a, b, and n, you are to calculate the value of f(n). 思路

這道題如果初看,本想對7取餘預處理,

但是一看資料太大,所以不好處理。

然後換個思路,可以打表找規律,這樣可以行的通;

昨天剛學了矩陣連乘,所以用構造矩陣試做了一下~~ac,

現在附上**:

#include

#include

#include

using namespace std;

struct matrix   //這是定義矩陣這種資料結構讓下面可以使用它

;matrix mul(matrix a,matrix b)  //兩矩陣相乘,矩陣乘法,用三層迴圈即可實現

return c;

}matrix pow_mod(matrix a,int b) //矩陣快速冪運算

return s;

}int main()

matrix e;

e.f[0][0]=a; e.f[0][1]=1;

e.f[1][0]=b; e.f[1][1]=0;

e=pow_mod(e,n-2);

cout<<(e.f[0][0]+e.f[1][0])%7<}return 0;   

}

hdu1005 矩陣快速冪

為了練習使用矩陣快速冪就寫了矩陣快速冪,其實這道題更方便的做法是找規律,由於n由n 1和n 2確定,而n 1和n 2範圍是0到6,所以共有7 7 49種結果,所以49必定是乙個迴圈。include include include include include define max 3 define...

HDU 1005 題解 思維

數列 類似於斐波那契的模7數列 f 1 f 2 1 f n a f n 1 b f n 2 7 time 1000 ms memory 32768 kb 1 n 100 000 000 1 n 100,000,000 1 n 1 00,0 00,0 00直接開陣列會mle 不開陣列用三個數迭代模擬會...

hdu 3483 矩陣構造

這道題寒假的時候看過,還不小心看了題解,不過題解說神馬早就忘了,剛開始解題的時候完全想錯了,後來才想起來是用矩陣構造 這道題的確適合構造矩陣,因為所求的函式值滿足線性關係,令f n 為最終求解值 首先我們要明確如果用矩陣的作法,那麼矩陣乘法中,最終矩陣,必須包含f n 還可以包含其他函式g n h ...