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) < ...
随机推荐
- [Android] ImageView.ScaleType设置图解 【转载】
ImageView的Scaletype决定了图片在View上显示时的样子,如进行何种比例的缩放,及显示图片的整体还是部分,等等. 设置的方式包括: 1. 在layout xml中定义android:s ...
- Leetcode#78 Subsets
原题地址 有两种方法: 1. 对于序列S,其子集可以对应为一个二进制数,每一位对应集合中的某个数字,0代表不选,1代表选,比如S={1,2,3},则子集合就是3bit的所有二进制数. 所以,照着二进制 ...
- 项目中的Libevent(多线程)
多线程版Libevent //保存线程的结构体 struct LibeventThread { LibEvtServer* that; //用作传参 std::shared_ptr<std::t ...
- [设计模式] 15 解释器模式 Interpreter
在GOF的<设计模式:可复用面向对象软件的基础>一书中对解释器模式是这样说的:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子.如果一种特定类 ...
- jquery-validation 学习总结
一.用前必备 项目主页:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassis ...
- ext3grep 恢复删除
Linux ext2/ext3 文件删除恢复工具ext3grep安装使用 2010-08-23 18:03:10| 分类: 默认分类|举报|字号 订阅 一. 安装前系统环 ...
- python库:fuzzywuzzy
fuzzywuzzy 用于字符串匹配率.令牌匹配等 复制代码代码如下: from fuzzywuzzy import fuzzfuzz.ratio("Hit me with your bes ...
- 六步实现Rest风格的API
Rest的作者认为计算机发展到现在,最大的成就不是企业应用,而是web,是漫漫无边的互联网web世界.Web能有这么大的成就,它值得我们研究.所以Rest的作者仔细研究了Web,按照Web的世界一些关 ...
- SQO2008配置管理工具服务显示远程过程调用失败
前两天,装了VS2012后,打开SQL2008配置管理工具,发现SQL服务名称里什么也没有,只有一个提示:(如图) 卸载了一个叫"Microsoft SQL Server 2012Local ...
- linux入门教程(四) 初步进入linux世界
[Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某个服务是否启动. Lin ...