zoukankan      html  css  js  c++  java
  • tyvj 1198 矩阵连乘

    题目描述

    一个

    矩阵由 列共 个数排列而成。两个矩阵 可以相乘当且仅当 的列数等于 的行数。一个 的矩阵乘以一个 的矩阵等于一个 的矩阵,运算量为

    矩阵乘法满足结合律,

    可以表示成 或者是 ,两者的运算量却不同。例如当 时,

    。显然第一种顺序节省运算量。

    现在给出

    个矩阵,并输入 个数,第 个矩阵是

     

    输入格式

    第一行n(n<=100) 第二行n+1个数

    输出格式

    最优的运算量

    样例

    样例输入

    3
    2 3 4 5
    

    样例输出

    64


    #include<bits/stdc++.h>
    using namespace std;
    const int N=110;
    int a[N],n;
    long long f[N][N];
    
    
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n+1;i++){
            scanf("%d",&a[i]);
        }
        memset(f,0x7f7f,sizeof(f));
        for(int i=1;i<=n+1;i++){
            f[i][i]=0;
        }
        for(int len=1;len<=n;len++){
            for(int i=2;i<=n;i++){
                int j=min(i+len-1,n);
                for(int k=i;k<j;k++){
                    f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+a[i-1]*a[k]*a[j]);
                }
            }
        }
        printf("%lld
    ",f[1][n]);
        return 0;    
    } 
  • 相关阅读:
    JQuery2
    Java基础复习4
    HTML基础复习4
    Java基础复习3
    HTML基础复习3
    HTML基础复习2
    HTML基础复习1
    shiro权限管理(认证和授权)
    权限管理(认证和授权)
    关于mybatis动态sql的if标签的一个问题
  • 原文地址:https://www.cnblogs.com/LightyaChoo/p/13183026.html
Copyright © 2011-2022 走看看