UVA - 348 Optimal Array Multiplication Sequence 最优矩阵连乘
来源:互联网 发布:淘宝店海报怎么做 编辑:程序博客网 时间:2024/06/05 23:39
题目大意:给出N个矩阵,要求所有矩阵相乘的值达到最小值
解题思路:dp[begin][end] = min (dp[begin][k] + dp[k+1][end] + row[begin] * col[k] * col[end]),输出的时候比较难 ,用一个 数组记录断点所在的位置,当断点的位置等于他本身的时候,则得出该矩阵的值,输出该值,递归结束
#include<cstdio>#include<cstring>#define maxn 15int N,dp[maxn][maxn],row[maxn],col[maxn],path[maxn][maxn];void print(int a, int b) {if(a == b) {printf("A%d",a+1);return ;}printf("(");print(a,path[a][b]);printf(" x ");print(path[a][b]+1,b);printf(")");}int main() {int mark = 1;while(scanf("%d", &N) != EOF && N) {for(int i = 0; i < N; i++)scanf("%d%d", &row[i],&col[i]);memset(dp,0,sizeof(dp));for(int i = 1; i < N; i++) for(int j = 0; j + i < N; j++) {dp[j][j+i] = 0x3f3f3f3f;for(int k = j; k < i+j; k++) {int temp = dp[j][k] + dp[k+1][j+i] + row[j] * col[k] * col[i+j];if(temp < dp[j][j+i]) {dp[j][j+i] = temp; path[j][j+i] = k;}}}printf("Case %d: ",mark++);print(0,N-1);printf("\n");}return 0;}
0 0
- UVA - 348 Optimal Array Multiplication Sequence 最优矩阵连乘
- UVA - 348 Optimal Array Multiplication Sequence (最优矩阵连乘)
- UVA 348 Optimal Array Multiplication Sequence 最优矩阵链乘 dp经典
- UVA 348 Optimal Array Multiplication Sequence 最优矩阵链乘 区间DP
- UVa 348 Optimal Array Multiplication Sequence (DP 最优矩阵链乘)
- UVa 348 Optimal Array Multiplication Sequence (DP 最优矩阵链乘)
- UVA 348 Optimal Array Multiplication Sequence(最优矩阵链乘)
- 【UVA】348-Optimal Array Multiplication Sequence(矩阵链乘)
- UVa 348 Optimal Array Multiplication Sequence (区间DP&矩阵链乘,MCM)
- TOJ 2118 Optimal Array Multiplication Sequence 矩阵连乘 我会做DP了!
- uva 348 Optimal Array Multiplication Sequence
- uva:348 - Optimal Array Multiplication Sequence
- uva 348 Optimal Array Multiplication Sequence
- UVA 348 Optimal Array Multiplication Sequence
- UVa 348 - Optimal Array Multiplication Sequence
- uva 348 - Optimal Array Multiplication Sequence
- UVa 348 - Optimal Array Multiplication Sequence
- UVa 348 - Optimal Array Multiplication Sequence
- const指针和指向const类型的指针
- VC 字节对齐
- UVA10105 - Polynomial Coefficients(排列组合)
- connect by语法探究
- 碰撞的小球 HTML5
- UVA - 348 Optimal Array Multiplication Sequence 最优矩阵连乘
- Linux 下遍历进程的 进程号和进程名
- memmove
- 女性如何“吃”出魅惑体香
- POJ 2378 Tree Cutting(树形DP)
- linux中安装samba的方法以及注意事项
- Spring3 MVC详解一
- memcpy
- this关键字