描述
矩阵是按行和列排列的数字集合。矩阵A(r行s列)和矩阵B(p行q列)能够相乘的条件为$s=p$,即前一个矩阵的列数要等于后一个矩阵的行数。完成乘法AB共需要r\*s\*q次乘法。
矩阵乘法满足结合律,但不满足交换律,即一般情况下AB和BA并不相等,但(AB)C和A(BC)的结果是一样的。
现有$n$个矩阵连乘,记为$A_1A_2…A_n$,$A_1$的行列分别为$p_0$和$p_1$,$A_2$的行列为$p_1$和$p_2$,以此类推。请设计算法,给出矩阵连乘的顺序,使总计算量最小。总计算量为每次矩阵相乘的乘法次数之和。
输入
第一行为一个数$n$。
第二行为$n+1$个数,分别为$p_0,p_1,…,p_n$。
输出
矩阵连乘所需要的最少乘法次数。
样例
- 复制
- 复制
提示
数据规模和约定
对30%的数据,$1\le n\le 100, 1\le p_i \le 10000$。
对100%的数据,$1\le n\le 1000, 1\le p_i\le 10000$。

关注我们