演算法提高 矩陣乘法

2021-10-08 07:39:35 字數 844 閱讀 9059

問題描述

有 n 個矩陣,大小分別為 a0 * a1, a1 * a2, a2 * a3, …, an-1 * an,現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。

兩個大小分別為 p * q 和 q * r 的矩陣相乘時的運算次數計為 p * q * r。

輸入格式

輸入的第一行包含乙個整數 n,表示矩陣的個數。

第二行包含 n+1 個數,表示給定的矩陣。

輸出格式

輸出乙個整數,表示最少的運算次數。

樣例輸入

31 10 5 20

樣例輸出

150資料範圍

1 ≤ n ≤ 1000,

1 ≤ ai ≤ 10000

題解

動態規劃:

【能量項鍊】的簡化版,而這題的資料範圍是1000, 卻依然能過,說明官網的測試資料是相當水了?

#include

#include

using

namespace std;

const

int n =

1010

;int e[n]

, f[n]

[n];

intmain()

} cout << f[1]

[n]<< endl;

return0;

}

演算法提高 矩陣乘法

問題描述 有n個矩陣,大小分別為a0a1,a1a2,a2a3,a n 1 a n 現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。兩個大小分別為pq和qr的矩陣相乘時的運算次數計為pqr。輸入格式 輸入的第一行包含乙個整數n,表示矩陣的個數。第二行包含n 1個數,表示給定的矩陣。輸出格式 ...

藍橋 演算法提高 矩陣乘法

演算法提高 矩陣乘法 時間限制 3.0s 記憶體限制 256.0mb 問題描述 有n個矩陣,大小分別為a0 a1,a1 a2,a2 a3,a n 1 a n 現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。兩個大小分別為p q和q r的矩陣相乘時的運算次數計為p q r。輸入格式 輸入的第...

演算法提高 矩陣乘法 最優矩陣鏈乘

題目鏈結 有n個矩陣,大小分別為a0 a1,a1 a2,a2 a3,a n 1 a n 現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。兩個大小分別為p q和q r的矩陣相乘時的運算次數計為p q r。狀態轉移方程 普通遞推 按照j i遞增的順序遞推,時間複雜度o n 3 include ...