UVA - 348 Optimal Array Multiplication Sequence
来源:互联网 发布:重装系统后网络不可用 编辑:程序博客网 时间:2024/05/05 08:43
dp矩阵链乘 不解释。最优子结构为最后一个乘号两边的一定也是最优子问题解
#include<cstdio>#include<cstring>#include<algorithm>#define MAX 15using namespace std;int dp[MAX][MAX],father[MAX][MAX],s[MAX+2];void print(int front,int rear){ if(rear-front==1) { printf("A%d",front); return ; } printf("("); print(front,father[front][rear]); printf(" x "); print(father[front][rear],rear); printf(")"); return ;}int main(){ int n,i,j,t,cases=1;; while(scanf("%d",&n)&&n) { scanf("%d",&s[1]); for(i=2;i<=n;i++) { scanf("%d",&s[i]); scanf("%d",&s[i]); } scanf("%d",&s[i]); memset(dp,0,MAX*MAX*4); memset(father,0,MAX*MAX*4); for(i=2;i<=n;i++) { for(j=1;j<=n-i+1;j++) { for(t=j+1;t<j+i;t++) { if(dp[j][j+i]==0) { dp[j][j+i]=dp[j][t]+dp[t][j+i]+s[j]*s[t]*s[j+i]; father[j][j+i]=t; } else { if(dp[j][j+i]>dp[j][t]+dp[t][j+i]+s[j]*s[t]*s[j+i]) { dp[j][j+i]=dp[j][t]+dp[t][j+i]+s[j]*s[t]*s[j+i]; father[j][j+i]=t; } } } } } printf("Case %d: ",cases++); print(1,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
- 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
- 基于Velocity开发自己的模板引擎
- android应用跳转至市场给软件评分功能
- Cookie大总结(来自网易)
- Ubuntu 10.04 开启 framebuffer
- iOS开发基础知识
- UVA - 348 Optimal Array Multiplication Sequence
- 【智商都是硬伤】分析与逻辑思考能力测试
- HDU 4751 BFS
- java基础总结01
- Mac mini 建立wifi热点
- 王立平--AES加密图片实现 SkImageDecoder::Factory return null
- 管道使用举例
- 解决myeclipse中项目重命名后访问不到的问题
- KL距离,Kullback-Leibler Divergence