1900_算法设计例题:矩阵连乘(DP)

2022-5-16 18:17| 发布者: Hocassian| 查看: 44| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-3-89504127813200-Problem List-采集的数据-后羿采集器.html

Pro.ID

1900

Title

算法设计例题:矩阵连乘(DP)

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1900

AC

636

Submit

2046

Ratio

31.09%

时间&空间限制

  • Time Limit: 40000/20000 MS (Java/Others)     Memory Limit: 262144/262144 K (Java/Others)
  • 描述

    给定n个矩阵{ A1A2,…,An },保证AiAi+1是可乘的,i = 1,2,…,n-1。考察这n个矩阵的连乘积A1A2An。由于矩阵乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序。这种计算次序可以用加括号的方式来确定。现要求设计一个高效的算法,对给定的n个矩阵确定一个计算次序使得总的乘法次数最少,并输出该最优值。

    输入

    输入的第一行是单独一个整数T,表示案例的数目。每个案例的第一行是单独一个n ( 1 ≤ n ≤ 600 ),表示矩阵的个数。接下来第n行,依序分别对应第i个矩阵,每行包括两个整数xiyi (1 ≤ in,1 ≤ xi , yi ≤ 100 ),表示该矩阵的行数和列数。保证n个矩阵依序是可乘的。

    输出

    Description

    给定n个矩阵{ A1A2,…,An },保证AiAi+1是可乘的,i = 1,2,…,n-1。考察这n个矩阵的连乘积A1A2An。由于矩阵乘法满足结合律,故计算矩阵的连乘积可以有许多不同的计算次序。这种计算次序可以用加括号的方式来确定。现要求设计一个高效的算法,对给定的n个矩阵确定一个计算次序使得总的乘法次数最少,并输出该最优值。

    Input

    输入的第一行是单独一个整数T,表示案例的数目。每个案例的第一行是单独一个n ( 1 ≤ n ≤ 600 ),表示矩阵的个数。接下来第n行,依序分别对应第i个矩阵,每行包括两个整数xiyi (1 ≤ in,1 ≤ xi , yi ≤ 100 ),表示该矩阵的行数和列数。保证n个矩阵依序是可乘的。

    Output

    每个案例输出一个整数,表示最少需要的乘法次数。 运算过程及结果不会超出int范围。

    Sample Input

    1
    4
    50 10
    10 40
    40 30
    30 5

    Sample Output

    10500

    Author

    样例输入

    1
    4
    50 10
    10 40
    40 30
    30 5

    样例输出

    10500

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部