藍橋杯 矩陣乘法

2021-09-21 06:39:19 字數 616 閱讀 8229

問題描述

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

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

輸入格式

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

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

輸出格式

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

樣例輸入

31 10 5 20

樣例輸出

150資料規模和約定

1<=n<=1000, 1<=ai<=10000。

分析這道題屬於區間型的動態規劃。

#include#includeusing namespace std;

#define n 1000 + 10

#define ll long long

int n;

ll a[n],dp[n][n];

int main()

} cout << dp[1][n] << endl;

return 0;

}

藍橋杯 矩陣乘法

演算法訓練 矩陣乘法 時間限制 1.0s 記憶體限制 512.0mb 問題描述 輸入兩個矩陣,分別是m s,s n大小。輸出兩個矩陣相乘的結果。輸入格式 第一行,空格隔開的三個正整數m,s,n 均不超過200 接下來m行,每行s個空格隔開的整數,表示矩陣a i,j 接下來s行,每行n個空格隔開的整數...

藍橋杯 矩陣乘法

演算法訓練 矩陣乘法 時間限制 1.0s 記憶體限制 512.0mb 問題描述 輸入兩個矩陣,分別是m s,s n大小。輸出兩個矩陣相乘的結果。輸入格式 第一行,空格隔開的三個正整數m,s,n 均不超過200 接下來m行,每行s個空格隔開的整數,表示矩陣a i,j 接下來s行,每行n個空格隔開的整數...

藍橋杯 矩陣乘法

題目大意 有n個矩陣,大小分別為a0 a1,a1 a2,a2 a3,a n 1 a n 現要將它們依次相乘,只能使用結合率,求最少需要多少次運算。兩個大小分別為p q和q r的矩陣相乘時的運算次數計為p q r。題目分析 本題是計算一系列連乘矩陣的最小運算次數。這是一道非常經典的動態規劃的題目。動態...