// uva348 最优矩阵链乘
// 典型的区间dp
// dp[i][j] 表示矩阵i到j链乘所得到的最小花费
// dp[i][j] = min(dp[i][k]+dp[k+1][j]+a[i].pl*a[k].pr*a[j].pr);
// 在区间i到j上找一个k使得dp[i][k]+dp[k+1][j]这两部分的和在加上最后的
// a[i].pl*a[k].pr*p[i].pr的最小值...
分类:
其他好文 时间:
2015-04-29 10:08:43
阅读次数:
138
传送门:http://oj.cnuschool.org.cn/oj/home/solution.htm?solutionID=3545420603矩阵链乘难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B试题描述 输入n个矩阵的维度和一些矩阵...
分类:
其他好文 时间:
2015-04-25 22:40:48
阅读次数:
182
我们在之前也讨论过动态规划的例子:
动态规划原理:http://blog.csdn.net/ii1245712564/article/details/45040037
钢条切割问题:http://blog.csdn.net/ii1245712564/article/details/44464689
矩阵链乘法问题:http://blog.csdn.net/ii1245712564/arti...
分类:
其他好文 时间:
2015-04-20 18:40:28
阅读次数:
372
我们之前提到过过动态规划的几个经典问题:
动态规划原理:http://blog.csdn.net/ii1245712564/article/details/45040037
钢条切割问题:http://blog.csdn.net/ii1245712564/article/details/44464689
矩阵链乘法问题:http://blog.csdn.net/ii1245712564/ar...
分类:
其他好文 时间:
2015-04-15 13:43:15
阅读次数:
233
主要大区间化为小区间……先小区间求值……状态转移方程 f(i,j) = min{ f(i,k) + f(k+1,j) + p[i-1]p[k]p[j] };poj 1651 http://poj.org/problem?id=1651#include #include #include #inclu...
分类:
其他好文 时间:
2015-04-05 21:51:24
阅读次数:
133
C语言4道读程序写结果的题都非常简单其中有指针、static类型的局部变量等问题编程题一道有三问(1)从文件中读取下三角的矩阵,链式的存放,每一行是一个链表,每个元素是一个结构体,有一个结构体数组存放行号和指针。(2)计算对角线上元素的和(3)创建主函数,并调用(1)..
分类:
其他好文 时间:
2015-03-31 13:04:51
阅读次数:
255
题意:给出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,因为从一个矩阵自己到它自己不需要做...
分类:
其他好文 时间:
2015-03-30 22:56:31
阅读次数:
220
题意:除了头尾不能动,每次取出一个数字,这个数字与左右相邻数字的乘积为其价值,最后将所有价值加起来,要求最小值
和最优矩阵链乘模型一样,最后取出的数决定了序,如果没学过最优矩阵连乘找重复子问题还是比较难找的
DP
//180K 0MS
#include
#include
#include
#include
using namespace std;
int dp[110][110];
...
分类:
其他好文 时间:
2015-03-09 20:54:12
阅读次数:
117
1.题目描述:点击打开链接
2.解题思路:本题类似于动态规划中的“最优矩阵链相乘”问题——具有最优子结构。定义d(i,j)表示切割序号为i,j的切点处的小木棒的最优费用。用数组a存储切点的位置,则状态转移方程如下:
d(i,j)=min{d(i,k)+d(k,j)|i
其中,a[j]-a[i]表示切割序号为i到j的小木棒的第一刀的费用。切完后,小木棒变为i~k,k~j两部分。如果设所有切点是...
分类:
其他好文 时间:
2015-02-14 17:37:17
阅读次数:
176
上一篇讲了贪心算法来解活动选择问题(【算法导论】贪心算法之活动选择问题),发现后面有一道练习16.1-1是要用动态规划来解活动选择问题。其实跟之前的矩阵链乘法有些相似,也是考虑分割的活动是哪一个,并用二维数据来记录Sij---最大兼容集合个数,和用另一个二维数据来记录Sij取得最大时的活动分割点k。然后就是考虑边界问题,和使用递归来求动态规划的最优解。
#i...
分类:
编程语言 时间:
2015-01-28 22:36:17
阅读次数:
408