矩陣性質:
共軛複數:兩個實部相等,虛部互為相反數的複數互為共軛複數,矩陣共軛同理矩陣乘法舉例:
前置知識:矩陣 a×b
思路:三迴圈:矩陣1的行 -> 矩陣2的列 -> 矩陣1的列 / 矩陣2的行(最先變的放內層,最後變的放外層)
fo
(i,0
,n)fo
(j,0
,p)
**:
#include
#define ll long long
#define fo(i,a,b) for(int i=a;iusing
namespace std;
int a[
100]
[100
],b[
100]
[100];
intmain()
return0;
}
題目:矩陣乘法問題描述
給定乙個n階矩陣a,輸出a的m次冪(m是非負整數)輸入格式:例如:a =
1 23 4
a的2次冪
7 10
15 22
第一行是乙個正整數n、m(1<=n<=30, 0<=m<=5),表示矩陣a的階數和要求的冪數,接下來n行,每行n個絕對值不超過10的非負整數,描述矩陣a的值輸出格式:
輸出共n行,每行n個整數,表示a的m次冪所對應的矩陣。相鄰的數之間用乙個空格隔開樣例輸入
2 2樣例輸出1 23 4
7 10思路:快速冪+矩陣乘法15 22
**:
#include
#define fo(i,a,b) for(int i=a;i#define max 30
using
namespace std;
int n,m0;
struct mat
}t1;
//矩陣定義
mat mul
(mat a,mat b,
int size)
//矩陣乘法
mat fastm
(mat a,
int k)
return res;
}//快速冪
void
init()
intmain()
}
演算法訓練 矩陣乘方
問題描述 給定乙個矩陣a,乙個非負整數b和乙個正整數m,求a的b次方除m的餘數。其中乙個nxn的矩陣除m的餘數得到的仍是乙個nxn的矩陣,這個矩陣的每乙個元素是原矩陣對應位置上的數除m的餘數。要計算這個問題,可以將a連乘b次,每次都對m求餘,但這種方法特別慢,當b較大時無法使用。下面給出一種較快的演...
演算法訓練 矩陣乘方
問題描述 給定乙個矩陣a,乙個非負整數b和乙個正整數m,求a的b次方除m的餘數。其中乙個nxn的矩陣除m的餘數得到的仍是乙個nxn的矩陣,這個矩陣的每乙個元素是原矩陣對應位置上的數除m的餘數。要計算這個問題,可以將a連乘b次,每次都對m求餘,但這種方法特別慢,當b較大時無法使用。下面給出一種較快的演...
演算法提高 矩陣乘方
問題描述 給定乙個矩陣a,乙個非負整數b和乙個正整數m,求a的b次方除m的餘數。其中乙個nxn的矩陣除m的餘數得到的仍是乙個nxn的矩陣,這個矩陣的每乙個元素是原矩陣對應位置上的數除m的餘數。要計算這個問題,可以將a連乘b次,每次都對m求餘,但這種方法特別慢,當b較大時無法使用。下面給出一種較快的演...