博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
矩阵连乘积 ZOJ 1276 Optimal Array Multiplication Sequence
阅读量:6721 次
发布时间:2019-06-25

本文共 1521 字,大约阅读时间需要 5 分钟。

 

题目传送门

1 /* 2     题意:加上适当的括号,改变计算顺序使得总的计算次数最少 3     矩阵连乘积问题,DP解决:状态转移方程: 4     dp[i][j] = min (dp[i][k] + dp[k+1][j] + p[i-1] * p[k] * p[j])    (i<=k
8 #include
9 #include
10 #include
11 #include
12 #include
13 using namespace std;14 15 const int MAXN = 1e2 + 10;16 const int INF = 0x3f3f3f3f;17 int dp[MAXN][MAXN];18 int s[MAXN][MAXN];19 int p[MAXN];20 int n;21 22 void print(int i, int j)23 {24 if (i == j) printf ("A%d", i);25 else26 {27 printf ("(");28 print (i, s[i][j]);29 printf (" x ");30 print (s[i][j] + 1, j);31 printf (")");32 }33 }34 35 void work(void)36 {37 for (int i=1; i<=n; ++i) dp[i][i] = 0;38 for (int l=2; l<=n; ++l)39 {40 for (int i=1; i<=n-l+1; ++i)41 {42 int j = i + l - 1;43 dp[i][j] = INF;44 for (int k=i; k<=j-1; ++k)45 {46 int tmp = dp[i][k] + dp[k+1][j] + p[i-1] * p[k] * p[j];47 if (tmp < dp[i][j])48 {49 dp[i][j] = tmp; s[i][j] = k;50 }51 }52 }53 }54 55 print (1, n); puts ("");56 }57 58 int main(void) //ZOJ 1276 Optimal Array Multiplication Sequence59 {60 //freopen ("ZOJ_1276.in", "r", stdin);61 62 int cas = 0;63 while (scanf ("%d", &n) == 1)64 {65 if (n == 0) break;66 for (int i=1; i<=n; ++i) scanf ("%d%d", &p[i-1], &p[i]);67 68 printf ("Case %d: ", ++cas);69 work ();70 }71 72 return 0;73 }74 75 /*76 Case 1: (A1 x (A2 x A3))77 Case 2: ((A1 x A2) x A3)78 Case 3: ((A1 x (A2 x A3)) x ((A4 x A5) x A6))79 */

 

转载于:https://www.cnblogs.com/Running-Time/p/4490772.html

你可能感兴趣的文章
linux尝试登录失败后锁定用户账户的两种方法
查看>>
vue路由切换终止请求
查看>>
MIT牛人解说计算机中的数学
查看>>
Qt 实现动态调整流程指令顺序(通过鼠标事件实现)
查看>>
Ubuntu 用vsftpd 配置FTP服务器
查看>>
利用JQuery直接调用asp.net后台方法
查看>>
Android FrameWork——PackageManager框架
查看>>
0-1背包(OJ0161)新解
查看>>
POJ 2996 Help Me with the Game (模拟)
查看>>
linux命令chown修改文件所有权
查看>>
ARC 类型转换:显式转换 id 和 void *
查看>>
谭浩强 c++程序设计第一章课后习题 第10题
查看>>
74HC595
查看>>
Linux调度器 - deadline调度器
查看>>
引用KBC.PetroSIM.Interop的dll,在代码中调用时出现 80040154 没有注册类 的错误
查看>>
注解SpringMVC
查看>>
Wpf 简单制作自己的窗体样式(2)
查看>>
每日刷题总结
查看>>
.net xml转json
查看>>
LeetCode题解(四)
查看>>