矩阵

矩阵题面DescriptionInputOutputSample InputSample Output思路题面DescriptionN(2<=N<=500)个矩阵相乘,求进行乘法的最少次数,我们认为两个矩阵A(m*n)B(np)的乘法次数为m×n×pm\times n\times pm×n×p次。Input第一行是整数N,接下来N行是对每个矩阵的描述,一行两个整数a,b,(1<=a,b<=50)a表示行,b表示列。输入确保能够相乘。Output一行输出最少乘法次数。S
摘要由CSDN通过智能技术生成

题面

Description

N(2<=N<=500)个矩阵相乘,求进行乘法的最少次数,我们认为两个矩阵A(m*n)B(np)的乘法次数为 m × n × p m\times n\times p m×n×p次。

Input

第一行是整数N,接下来N行是对每个矩阵的描述,一行两个整数a,b,(1<=a,b<=50)a表示行,b表示列。输入确保能够相乘。

Output

一行输出最少乘法次数。

Sample Input

3
50 10
10 20
20 5

Sample Output

3500

思路

首先我们需要明确一点,矩阵没有交换律
这点很重要。
首先题目说 “ 输入确保能够相乘 ” ,如果我们能够证明:矩阵的行和列是首尾相接的,设第 i i i个矩阵行为 x i x_i xi,列为 y i y_i yi,也就是说: ∀ 0 < i < n \forall 0<i<n 0<i<n满足 y i = x i + 1 y_i=x_{i+1} yi=xi+1,那么这一题就可以用区间 d p dp dp求解了。
证明:首先假设:
x 1 , y 1 x 2 , y 2 … … x n , y n x_1,y_1 \\x_2,y_2 \\…… \\x_n,y_n x1,y1x2,y2x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值