1. 程式人生 > 其它 >ASEMI-GBU2510整流橋怎麼選型號?

ASEMI-GBU2510整流橋怎麼選型號?

矩陣快速冪

1.矩陣乘法:

對於n*k的矩陣A,k*m的矩陣B,相乘的得到的矩陣C為:

我們可以發現,對於矩陣A,B,只有當A的列等於B的行時,兩個矩陣才能相乘

Code:

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int N=50;
 4 int a[N][N],b[N][N],c[N][N];
 5 int n,k,m;
 6 int main(){
 7     cin>>n>>k>>m;
 8     for(int i=1;i<=n;i++){
 9         for
(int j=1;j<=k;j++){ 10 cin>>a[i][j]; 11 } 12 } 13 for(int i=1;i<=k;i++){ 14 for(int j=1;j<=m;j++){ 15 cin>>b[i][j]; 16 } 17 } 18 for(int i=1;i<=n;i++){ 19 for(int j=1;j<=m;j++){ 20 for(int r=1
;r<=k;r++){ 21 c[i][j]+=a[i][r]*b[r][j]; 22 } 23 } 24 } 25 for(int i=1;i<=n;i++){ 26 for(int j=1;j<=m;j++){ 27 cout<<c[i][j]<<" "; 28 } 29 cout<<endl; 30 } 31 }

2.矩陣快速冪

在學習矩陣乘法後,我們便可以開始學習矩陣快速冪了。

老規矩,直接上例題:

計算斐波那契數列第n項的後四位(n<=1e9)。

好傢伙,這不遞推板題嘛!~

仔細點,n<=1e9!

對於如此之大的資料規模,我們只能用O(logn)或O(√n)的演算法來實現。

那O(logn)的快速冪演算法就十分合適了。

我們先列出遞推方程式:

其中,1 1 1 0這個矩陣可以通過方程求得。

於是,我們只需要類比普通的快速冪計算1 1 1 0這個矩陣即可。