UVA - 348 Optimal Array Multiplication Sequence
来源:互联网 发布:网络排行榜龙空 编辑:程序博客网 时间:2024/05/01 11:07
题意:矩阵连乘问题
#include <iostream>#include <cstdio>#include <cstring>#include <climits>using namespace std;const int MAXN = INT_MAX;int n;struct node{ int a,b;}arr[15];int dp[20][20];int p[20][20];int Mark(){ for (int i = 1; i <= n; i++) dp[i][i] = 0; for (int r = 2; r <= n; r++) for (int i = 1; i <= n - r + 1; i++){ int j = i + r -1; dp[i][j] = dp[i+1][j] + arr[i].a * arr[i].b * arr[j].b; p[i][j] = i; for (int k = i + 1; k < j; k++){ int t = dp[i][k] + dp[k+1][j] + arr[i].a * arr[k].b * arr[j].b; if (t < dp[i][j]){ dp[i][j] = t; p[i][j] = k; } } }}void prin(int x,int y){ if (y - x == 0){ printf("A%d",x); return; } if (y - x == 1){ printf("(A%d x A%d)",x,y); return; } int t = p[x][y]; printf("("); prin(x,t); printf(" x "); prin(t+1,y); printf(")");}int main(){ int cas = 0; while (++cas){ scanf("%d",&n); if (!n) break; for (int i = 1; i <= n; i++) scanf("%d%d",&arr[i].a,&arr[i].b); printf("Case %d: ",cas); Mark(); prin(1,n); printf("\n"); } return 0;}
- 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
- 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 (DP)
- uva 348 - Optimal Array Multiplication Sequence
- 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
- JAVA---字符串出现的次数案例
- 发现CSDN的一个小Bug,CSDN网站管理人员进来看看哈~~
- unity常见问题
- 使用dockpanel时,子窗体间的值传递
- 倒影(reflections)效果的实现
- UVA - 348 Optimal Array Multiplication Sequence
- 制作Web流程图的一点心得
- 配置文件实现移动
- Java学习总结之注释相关
- huawei机试
- ORACLE DATABASE 10G FALSHBACK 知识整理
- HDOJ 2435 - There is a war 枚举+最小割
- 配置文件实现旋转
- POJ 1260 Pearls