POJ 2118 矩陣乘法來解線性遞推

2021-06-01 02:47:33 字數 815 閱讀 4762

看了matrix67關於fibonacci那段的講解...就和狐狸大牛一起去poj做了這道...我了個去我了個擦...600多個人做200多個過真的大丈夫??第一次做這種這麼少人做的題很是緊張...囧... 

其實理解了用矩陣來解線性遞推的方法...這題...模板題...記住幾個關鍵...用矩陣乘法來解線性遞推,首先當然是構造矩陣a..這個矩陣該有的性質是乘以

能使其變成        a4  }  之類的..也就使 a 每乘乙個a..a這一列往後面滾乙個...所以如果要求第 n 項...實際就是求 ( a^(n-k) ) * a 這裡k是指的 a 的列數也就是線性遞推時右邊的未知數....一開始是把 1 ~ k  存在裡面了(不給出初值沒法做~~) .. 所以當 n <=k 時直接輸出...大於 k 時才看是乘 a....           

求a^k 就用二分的方法~~多大的數都輕輕鬆鬆啊~~

program:

#include#define maxn 110

using namespace std;

struct pp

a;int n,i,s[maxn],ans=0;

pp muti(pp a,pp b)

return h;

}pp find(int p)

int main()

{ while (~scanf("%d",&n))

{if (!n) break;

for (i=1;i<=n;i++) scanf("%d",&s[i]);

memset(a.s,0,sizeof(a.s));

for (i=1;i

POJ 2118 矩陣乘法來解線性遞推

看了matrix67關於fibonacci那段的講解.就和狐狸大牛一起去poj做了這道.我了個去我了個擦.600多個人做200多個過真的大丈夫?第一次做這種這麼少人做的題很是緊張.囧.其實理解了用矩陣來解線性遞推的方法.這題.模板題.記住幾個關鍵.用矩陣乘法來解線性遞推,首先當然是構造矩陣a.這個矩...

POJ2118基礎矩陣快速冪

題意 an 1 i kan ibi mod 10 000 for n k,題意看了好久才懂,有點蛋疼啊,這個題目要是能看懂題意就簡單了,先給你k,然後給你a0 a1 a2 a3 ak 1.然後給你b1 b2 b3 b4 bk,然後給你乙個i,讓你輸出ai的值,如果i k直接輸出輸入時的ai就行,否則...

POJ 3420 矩陣乘法

題意 4 n的矩形中放入1 2的小矩形有多少種放法 分析 表示公式不會推導。沒找著有人推公式的證明了。求證明 f n f n 1 5 f n 2 f n 3 f n 4 手動算出來前4項,然後處理線性遞推式就好了 view code 1 include 2 include 3 include 4 i...