通常会和 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];

具有结合律, , 但没有交换律。 因此, 在求 时, 可以先把 们算出来。类似于 二进制优化多重背包, 求 恰好经过 条边中的思路。也就是快速幂的应用, 求出二进制最小元, 再组成答案。 复杂度为

题目