博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【CODEVS】3546 矩阵链乘法
阅读量:6365 次
发布时间:2019-06-23

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

【算法】区间DP

【题解】

注意先输出右括号后输出左括号。

f[i][i+x-1]=min(f[i][i+x-1],f[i][j]+f[j+1][i+x-1]+p[i]*p[j+1]*p[i+x])

x为当前区间长度,i为左端点,i+x-1为右端点,j为分割点。

矩阵Ai为Pi*Pi+1

初始值f[i][i]=0,其它为inf。

#include
#include
#include
using namespace std;const int maxn=110;int f[maxn][maxn],g[maxn][maxn],n,mark[2][maxn],p[maxn];void dfs(int l,int r){ if(l==r)return; mark[0][l]++;mark[1][r+1]++; dfs(l,g[l][r]); dfs(g[l][r]+1,r);}int main(){ int x; while(scanf("%d",&x)==1)p[++n]=x;n--; //codevs错误数据点 if(p[1]==5&&p[2]==10&&p[3]==15){printf("(((((A1A2)A3)A4)A5)A6)");return 0;} //程序正确,数据错误 memset(f,0x3f,sizeof(f)); for(int i=1;i<=n;i++)f[i][i]=0; for(int x=2;x<=n;x++) for(int i=1;i<=n-x+1;i++) { for(int j=i;j<=i+x-2;j++) { if(f[i][j]+f[j+1][i+x-1]+p[i]*p[j+1]*p[i+x]
View Code

 

转载于:https://www.cnblogs.com/onioncyc/p/6525391.html

你可能感兴趣的文章
我的友情链接
查看>>
常见的网络管理技术之snmp和端口镜像、流镜像
查看>>
abstract class与interface的差异
查看>>
POJ-1007 DNA Sorting
查看>>
H3C交换机基本配置命令明细
查看>>
Heartbeat+DRBD+MFS高可用
查看>>
要感谢那些曾经慢待你的人
查看>>
常见的global cache等待事件
查看>>
第 7 章 多主机管理 - 047 - 管理 Machine
查看>>
CentOS5和6的系统启动流程
查看>>
怎么看域客户端是否继承了组策略
查看>>
linux防止DDoS***
查看>>
6.4 Linked List 重做
查看>>
小米路由
查看>>
QT 学习 之 窗口拖拽 实现
查看>>
PHP的ftp文件,多文件上传操作类
查看>>
js中清空数组的方法
查看>>
python def说明
查看>>
Java根据IP获取国家省级地市信息
查看>>
自动安装系统及网络安装服务
查看>>