dp 最优矩阵乘法
来源:互联网 发布:双肩背包淘宝 编辑:程序博客网 时间:2024/04/29 19:41
该题题意如下
有若干个矩阵{Ai},元素都为整数且已知矩阵大小。
如果要计算所有矩阵的乘积A1 * A2 * A3 .. Am,最少要多少次整数乘法?
第二行n个整数B1, B2, B3... Bn(Bi <= 100),第i个数Bi表示第i个矩阵的行数和第i-1个矩阵的列数。
等价地,可以认为第j个矩阵Aj(1 <= j <= n - 1)的行数为Bj,列数为Bj+1。
610 1 50 50 20 5
3650
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include<iostream>using namespace std;int n;int p[150];int f[150][150];int min(int x, int y){return x < y ? x : y;}int main(){cin >> n; //n个数 n-1个矩阵for (int i = 0; i < n; i++)cin >> p[i];n--; //这里变为n个矩阵来表示int j; for (int r=2; r<=n; r++) //这里的r是多少个矩阵,至少有两个矩阵才可以乘for (int i = 1; i <=(n-r+1); i++) //这里对i限制不能使得j超过第n个矩阵{j = i + r - 1; //推导出j,从第i个矩阵到第j个矩阵f[i][j] = f[i + 1][j] + f[i][i] + p[i - 1] * p[i] * p[j]; //很简单而且稳定的初始化for (int k = i + 1; k < j; k++)f[i][j] = min(f[i][j], f[i][k] + f[k + 1][j] + p[i - 1] * p[k] * p[j]);}cout << f[1][n] << endl; return 0;}
阅读全文
1 0
- dp 最优矩阵乘法
- 【区间DP】矩阵乘法
- 【DP】矩阵链乘法
- 矩阵乘法优化DP
- hdu6185 dp+矩阵乘法
- 矩阵乘法优化DP
- 【DP-最优子矩阵问题】
- dp最优矩阵相乘poj1651
- 【Contra】 矩阵乘法优化 dp
- 【bzoj3120】Line dp+矩阵乘法
- BZOJ 1009 DP+矩阵乘法
- 【DP】poj1651 <矩阵链乘法>
- bzoj 1875 矩阵乘法dp
- poj3744 概率dp+矩阵乘法
- 决战 dp+矩阵乘法+NTT
- 【DP+压缩矩阵+矩阵乘法】阅读
- 区间DP-最优矩阵链乘
- 最优矩阵链乘(经典DP)
- RBAC传统权限管理模型
- tensorflow下有关图片的随机翻转、随机调整亮度以及对比度函数
- Atmega328P熔丝设置错误修复
- EasyDSS流媒体服务器实现RTMP直播同步HLS录像和时移回放
- 小程序开发总结1
- dp 最优矩阵乘法
- 用C++写Leap Motion程序相关配置注意问题(VS2017)
- (zepto插件使用)click、tap无效又能实现点击事件小窍门
- 【LeetCode 7】 Reverse Integer【E】
- 总结
- 判断文件是否存在,不存在则新建
- spring项目开发小记2
- 博客flag日志
- 使用DownloadManager进行版本更新(兼容7.0)