ZOJ 1276 Optimal Array Multiplication Sequence(矩阵连乘)
2024-08-28 09:25:36
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1276
裸的矩阵连乘问题。
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<cmath>
using namespace std; int n;
int p[];
int m[][], s[][]; void dp()
{
for (int i = ; i <= n; i++) m[i][i] = ;
for (int r = ; r <= n;r++)
for (int i = ; i <= n - r + ; i++)
{
int j = i + r - ;
m[i][j] = m[i + ][j] + p[i - ] * p[i] * p[j];
s[i][j] = i;
for (int k = i + ; k < j; k++)
{
int t = m[i][k] + m[k + ][j] + p[i - ] * p[k] * p[j];
if (t < m[i][j])
{
m[i][j] = t;
s[i][j] = k;
}
}
}
} void print(int i,int j)
{
if (i == j)
cout << "A" << i;
else
{
cout << "(";
print(i, s[i][j]);
cout << " x ";
print(s[i][j] + , j);
cout << ")";
}
} int main()
{
//freopen("D:\\txt.txt", "r", stdin);
int kase = ;
while (cin >> n&& n)
{
for (int i = ; i <= n; i++)
cin >> p[i - ] >> p[i];
dp();
cout << "Case " << ++kase << ": ";
print(,n);
cout << endl;
}
return ;
}
最新文章
- HTTP Method详细解读(`GET` `HEAD` `POST` `OPTIONS` `PUT` `DELETE` `TRACE` `CONNECT`)
- C#-WebForm-Request、Response、QueryString、Repeater删
- .技术参数图用pillow自动处理
- iOS开发中的各种错误
- Preparing for the Contest
- POJ 2289 Jamie&#39;s Contact Groups
- stl_container容器和std_algorithm算法相同的函数
- 各种排序算法及其java程序实现
- tcpdump 使用实践
- redis五种基本类型CRUD操作
- 光电转研发:和计算机没有一点关系的专业怎么去bat类的公司
- java游戏开发杂谈 - java编程怎么学
- yii2.0 url美化-apache服务器
- 常用Linux VPS/服务器SSH连接工具 - Xshell下载与使用
- 你不可不知的Java引用类型之——虚引用
- HDU 3625 Examining the Rooms【第一类斯特灵数】
- 这个开挂一般的工具,承包你所有的PPT
- 2017/05/23 java 基础 随笔
- Tensorflow高级封装
- 【cs229-Lecture5】生成学习算法:1)高斯判别分析(GDA);2)朴素贝叶斯(NB)