240919 - 矩阵连乘(Matrix Chain Multiplication)

题目描述

在矩阵运算中,矩阵的乘法满足结合律,即 (A × B) × C = A × (B × C),但矩阵乘法不满足交换律,即 A × B ≠ B × A

假设给定 N 个矩阵,依次编号为 1N,第 i 个矩阵的维度为 p[i-1] × p[i]。矩阵的乘法运算代价为矩阵的行数 × 列数 × 共同维度。例如,如果矩阵 A 的大小是 10 × 30,矩阵 B 的大小是 30 × 5,那么 A × B 的计算代价为 10 × 30 × 5 = 1500

我们的目标是找到一种最优的括号化方案,使得 N 个矩阵依次相乘的总计算代价最小。

输入
  • 第一行包含一个整数 N2 ≤ N ≤ 100),表示矩阵的个数。
  • 第二行包含 N+1 个整数 p[0], p[1], ..., p[N],表示 N 个矩阵的维度。其中,第 i 个矩阵的大小为 p[i-1] × p[i]
输出
  • 输出一个整数,表示矩阵连乘的最小计算代价。
样例

输入

4
10 30 5 60 20

输出

8500

输入

3
10 30 5 60

输出

4500
说明

数据范围

  • 2 ≤ N ≤ 100
  • 1 ≤ p[i] ≤ 1000
标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 3
通过人数 0
金币数量 5 枚
难度 提高


上一题 下一题