矩阵链乘

来源:互联网 发布:淘宝网上代购可信吗 编辑:程序博客网 时间:2024/05/16 13:49
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn=5000+10;int p[maxn],f[maxn][maxn];int main(){    int n,x,y,j;    scanf("%d",&n);    for(int i=1;i<=n;i++){        scanf("%d%d",&x,&y);        if(i==n) {p[i]=x;p[i+1]=y;}        else p[i]=x;    }    for(int i=1;i<=n;i++) f[i][i]=0;    for(int r=2;r<=n;r++)    {        for(int i=1;i<=n-r+1;i++)        {            j=i+r-1;            f[i][j]=f[i+1][j]+p[i]*p[i+1]*p[j+1];            for(int k=i+1;k<j;k++)                f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]+p[i]*p[k+1]*p[j+1]);        }    }    printf("%d\n",f[1][n]);    return 0;}

0 0
原创粉丝点击