通常会和 qmi 一起考, 题目背景通常是递推。
两个矩阵 与 , 进行矩阵乘法后得到 的矩阵。 的第 行与 的第 列相乘, 为 的值。
for(int i = ; i <= A; i++)
for(int j = 1; j <= C; j++)
for(int k = 1; k <= B; k++)
c[i][j] += a[i][k] * b[j][k];
具有结合律, , 但没有交换律。 因此, 在求 时, 可以先把 们算出来。类似于 二进制优化多重背包, 求 恰好经过 条边中的思路。也就是快速幂的应用, 求出二进制最小元, 再组成答案。 复杂度为