問題描述
有 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 ...