UVA10870遞推關係(矩陣乘法)

2022-09-05 01:36:12 字數 787 閱讀 7219

題意:

給以個遞推f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n - 3) + ... + ad f(n - d), for n > d.,給你n,d,a1,a2..ad ,f[1],f[2]..f[d],讓你求f[n]%m.

思路:比較基礎的矩陣題目,每次都構造乙個d*d的矩陣,然後用快速冪求出來它的n-1次冪,然後在求出乘積就行了,簡單構造,沒有什麼坑點。

#include

#include

typedef struct

mat;

long long n ,mod ,d;

mat mm(mat a ,mat b)

mat quick(mat a ,long long b)

return c;

}int main ()

for(i = 1 ;i <= d ;i ++) 

if(n <= d)

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

int x = 2 ,y = 1;

for(i = 2 ;i <= d ;i ++)

for(i = 1 ;i <= d ;i ++)

a.mat[i][d] = d[d-i+1];

a = quick(a ,n - 1);

long long ans = 0;

for(i = 1 ;i <= d ;i ++)

printf("%lld\n" ,ans);

}return 0;

}

uva442 矩陣鏈乘

題目大意 給你若干個矩陣 x y 然後給你若干種計算公式,問你在該種計算公式情況下能否進行矩陣乘法運算,若能進行,輸出需進行乘法的次數。思路分析 首先要對矩陣的乘法運算有一定了解,首先,a xy 和b xy 矩陣能否進行ab運算的充要條件是是否滿足a.y b.x,如果滿足,則會得到矩陣c a.xb....

UVa442矩陣鏈乘 棧

題目如下 我用c語言實現的 如下 include define maxn 1000 10 typedef structmatrix typedef structstack int n 開頭有幾個矩陣 stack s matrix m maxn 存開始給的矩陣,最多26個 matrix pop sta...

Uva348最優矩陣鏈乘

題意 給出 n 個矩陣 a1,a2,an 求完全括號化方案,使得計算乘積 a1a2 an 所需乘法次數最少。並輸出方案。思路 經典區間dp。要求的是 0,n 1 的最小代價。且大區間的決策依賴於小區間。矩陣連乘的最後一定有乙個最後一次乘法,假設最後乙個乘號在第 k 個矩陣後,也就是p a1 x a2...