思路:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
#include<cmath>
#include<algorithm>
using namespace std;
void solve()
{
}
int main()
{
int n;
cin>>n;
int matrix[n+1][n+1];
memset(matrix,0,sizeof(matrix));
//第0行数据:
matrix[0][1]=1;
//剩余所有行的数据
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
matrix[i][j]=matrix[i-1][j-1]+matrix[i-1][j];
}
}
//输出结果
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(matrix[i][j]!=0)
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
}

该博客主要探讨了一种使用动态规划方法解决矩阵链乘法问题的C++实现。程序首先初始化一个二维矩阵,并通过遍历和累加前缀和来填充矩阵,从而计算最优化的矩阵乘法规则。最后,程序输出了计算得到的最优乘法顺序。

被折叠的 条评论
为什么被折叠?



