题目名称 1135. 矩阵连乘
输入输出 t1.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 6
题目来源 Gravatarcqw 于2012-10-10加入
开放分组 全部用户
提交状态
分类标签
动态规划 区间DP
分享题解
通过:38, 提交:79, 通过率:48.1%
Gravatar521 100 0.000 s 0.00 MiB C++
Gravatarcy 100 0.000 s 0.00 MiB C++
Gravatardateri 100 0.000 s 0.00 MiB C++
Gravatar+1s 100 0.000 s 0.00 MiB C++
Gravatar吉羊旋律 100 0.000 s 0.00 MiB C++
GravatarLGLJ 100 0.000 s 0.00 MiB C++
Gravatar牛掰格拉斯 100 0.000 s 0.00 MiB C++
Gravataryi_fan0305 100 0.000 s 0.00 MiB C++
Gravatarsyzhaoss 100 0.000 s 0.00 MiB C++
Gravatar┭┮﹏┭┮ 100 0.000 s 0.00 MiB C++
关于 矩阵连乘 的近10条评论(全部评论)
输出略烦
Gravatar521
2016-05-28 18:15 2楼
耗时
GravatarTruth.Cirno
2012-10-13 22:11 1楼

1135. 矩阵连乘

★★☆   输入文件:t1.in   输出文件:t1.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

由于矩阵乘法满足结合律,故其连乘积的计算可以有许多不同的计算次序。计算次序可以通过加括号的方式来确定。例如 $A_1A_2A_3$ 的连乘积可以有两种加括号的方式:$((A_1A_2)A_3)$和$(A_1(A_2A_3))$。

矩阵连乘积的计算次序与连乘积的计算量有关。已知两个矩阵 $A_{p\times q}$ 和 $A_{q\times r}$ 相乘的计算量为 $p\times q \times r$,请确定矩阵连乘积 $A_1 A_2\cdots A_n$ 的最小计算量的计算次序。

【输入格式】

输入的第一行为数据组数 $m(1\leq m\leq 6)$。

接下来有 $m$ 组数据,每组数据包含两行。

第一行为矩阵的个正整数 $n(1\leq n\leq 10)$。

接下来有 $n+1$ 个正整数 $P_0,P_1,P_2,\cdots,P_n$,表示矩阵的维数,其中第 $i$ 个矩阵的维数为 $P_{i-1}\times P_i$。

【输出格式】

共有 $m$ 组,每组包含两行。

第一行为矩阵连乘积的最小计算量,保证计算量不超过 $10^6$。

第二行为矩阵连乘积的计算顺序。

【输入样例】

2
2
2 3 5
3
2 5 100 2

【输出样例】

30
(A1A2)
1020
(A1(A2A3))