在《线性代数》、《矩阵论》等教材中有矩阵的概念和应用。算法竞赛中常见的应用是用快速幂加速矩阵乘法。
矩阵的计算
一个 $ m $ 行 $ n $ 列的矩阵用二维数组 $ matrix[][] $ 存储,$ matrix[i][j] $ 表示第 $ i $ 行第 $ j $ 列元素的值。考虑到计算的频繁性,我们将矩阵放在结构体(类) 中。
#include <iostream> #include <cstring> const int M = 50, N = 20; struct Matrix { int matrix[M][N]; Matrix() { std::memset(matrix, 0, sizeof(matrix)); } };
$1.$矩阵的加减法