NYOJ 536 开心的mdd【矩阵链乘】
题意:给出n个矩阵组成的序列,问最少的运算量
看的紫书: dp[i][j]表示从第i个矩阵到第j个矩阵最少的乘法次数
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+p[i-1]*p[k]*p[j]);
边界条件为dp[i][i]=0,因为从一个矩阵自己到它自己不需要做乘法 然后把dp[i][j]初始化为一个极大的值,再来求最小值
学习的这一篇:http://blog.csdn.net/dgq8211/article/details/7492186
还有这一篇:http://blog.csdn.net/u012804490/article/details/26152337
#include<iostream>
#include<cstdio>
#include<cstring>
#include <cmath>
#include<stack>
#include<vector>
#include<map>
#include<set>
#include<queue>
#include<algorithm>
#define mod=1e9+7;
using namespace std; typedef long long LL;
const int maxn=;
const int INF = 0x7fffffff;
int dp[maxn][maxn],p[maxn]; int main(){
int n,i,j,ans,k,len;
while(scanf("%d",&n)!=EOF&&n){
for(i=;i<=n;i++) cin>>p[i-]>>p[i]; memset(dp,,sizeof(dp)); for(len=;len<n;len++){ //连乘的矩阵的长度
for(i=;i<=n-len;i++){ //连乘的矩阵的起点
j=i+len;
dp[i][j]=INF;
for(k=i;k<j;k++){ //连乘的矩阵的终点
dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+][j]+p[i-]*p[k]*p[j]);
// printf("dp[%d][%d]=%d\n",i,j,dp[i][j]);
}
}
}
printf("%d\n",dp[][n]);
}
return ;
}
go---go---go-
NYOJ 536 开心的mdd【矩阵链乘】的更多相关文章
- NYOJ 536 开心的mdd(DP)
开心的mdd 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 himdd有一天闲着无聊,随手拿了一本书,随手翻到一页,上面描述了一个神奇的问题,貌似是一个和矩阵有关的 ...
- [NYOJ 536] 开心的mdd
开心的mdd 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述himdd有一天闲着无聊,随手拿了一本书,随手翻到一页,上面描述了一个神奇的问题,貌似是一个和矩阵有关的东西. ...
- 【UVa-442】矩阵链乘——简单栈练习
题目描述: 输入n个矩阵的维度和一些矩阵链乘表达式,输出乘法的次数.如果乘法无法进行,输出error. Sample Input 9 A 50 10 B 10 20 C 20 5 D 30 35 E ...
- POJ1260 Pearls(dp,矩阵链乘法)
题目链接. 题目大意: 给定一个n,和两个序列a[i], p[i]. a[i] 表示需要购买 i品质 的数量,p[i] i 等级的价格. 1.每个品质都会有不同的价格,价格依据品质上升而上升 2.买一 ...
- COJ 0016 20603矩阵链乘
传送门:http://oj.cnuschool.org.cn/oj/home/solution.htm?solutionID=35454 20603矩阵链乘 难度级别:B: 运行时间限制:1000ms ...
- Algorithm --> 矩阵链乘法
动态规划--矩阵链乘法 1.矩阵乘法 Note:只有当矩阵A的列数与矩阵B的行数相等时A×B才有意义.一个m×r的矩阵A左乘一个r×n的矩阵B,会得到一个m×n的矩阵C. #include ...
- CODEVS 3546 矩阵链乘法
http://codevs.cn/problem/3546/ 题目 给定有n个要相乘的矩阵构成的序列(链)<A1,A2,A3,.......,An>,要计算乘积A1A2.....An.一组 ...
- UVa 10003 切木棍(区间DP+最优矩阵链乘)
https://vjudge.net/problem/UVA-10003 题意: 有一根长度为L的棍子,还有n个切割点的位置.你的任务是在这些切割点的位置处把棍子切成n+1部分,使得总切割费用最小.每 ...
- (最大矩阵链乘)Matrix-chain product
Matrix-chain product. The following are some instances. a) <3, 5, 2, 1,10> b) < ...
随机推荐
- Flv 视频格式(转)
最近要用到flv,整理了一些flv格式的资料,供参考. flv文件主要由两部分组成:header和body. 1.header header部分记录了flv的类型.版本等信息,是flv的开头,一般都差 ...
- git Clone SSL certificate problem: self signed certificate
自己的git服务器遇到证书是自签的,git验证后会拒绝,此时,采用如下命令临时禁用就好 git -c http.sslVerify=false clone https://domain.com/pat ...
- 解决Maven默认仓库没有的jar下载(二)
前言: 在 “解决Maven不能下载“oracle.aspectjweaver.com.springsource.net.sf.cglib”jar(http://www.cnblogs.com/wql ...
- [转载]C++ CString与int 互转
1.CString 转 int CString strtemp = "100"; int intResult; intResult= atoi(strtem ...
- Eclipse plugin插件开发 NoClassDefFoundError
Eclipse的每一个plugin都有属于自己的类加载器,这是OSGI架构的基础,每一个plugin项目都是一个bundle,独立运行在各自的运行环境里面,这就造成了开发时和运行时的不同. Eclip ...
- Linux 终端访问 FTP 及 上传下载 文件
今天同事问我一个问题,在Linux 下访问FTP,并将文件上传上去. 我之前一直是用WinSCP工具的. 先将文件从linux copy到windows下,然后在传到ftp上.google 一下. 方 ...
- tomcat 解析(一)-文件解析
做web项目,最常用的服务器就是Apache的tomcat.虽然一直在用tomcat,但都是仅限在使用的阶段,一直没有深入学习过.想深入学习tomcat,首推的肯定是官网:http://tomcat. ...
- jQuery1.9.1源码分析--Ajax模块
//Serialize an array of form elements or a set of //key/values into a query string // 将数组形式的表单元素或者哈希 ...
- SPOJ NSUBSTR Substrings 后缀自动机
人生第一道后缀自动机,总是值得纪念的嘛.. 后缀自动机学了很久很久,先是看CJL的论文,看懂了很多概念,关于right集,关于pre,关于自动机的术语,关于为什么它是线性的结点,线性的连边.许多铺垫的 ...
- TCP 流模式与UDP数据报模式(转)
TCP流模式与UDP数据报模式http://blog.csdn.net/s3olo/article/details/7914717 数据报(datagram)通常是指起始点和目的地都使用无连接网络服务 ...