看了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...