POJ1260 Pearls(dp,矩陣鏈乘法)

2022-04-06 11:32:43 字數 493 閱讀 6196

題目鏈結。

題目大意:

給定乙個n,和兩個序列a[i], p[i]. a[i] 表示需要購買 i品質 的數量,p[i] i 等級的**。

1.每個品質都會有不同的**,**依據品質上公升而上公升

2.買一次 i 品質,都要加上10個 i 品質 **的手續費。

3.可一用高品質的代替低品質.

求最少的花費.

分析:這題就簡單地矩陣鏈乘法(《演算法導論》第15章,動態規劃)。

用 dp[i][j] 表示購買 i 品質到 j 的最少的花費.

dp[i][j] = min

dp[i][j] = p[j]*(s+10

);

//分解

for(int k=i; k<=j-1; k++) }}

printf(

"%d\n

", dp[0][n-1

]); }

return0;

}

poj1651 矩陣鏈乘

以矩陣鏈abcd為例 按照矩陣鏈長度遞增計算最優值 矩陣鏈長度為1時,分別計算出矩陣鏈a b c d的最優值 矩陣鏈長度為2時,分別計算出矩陣鏈ab bc cd的最優值 矩陣鏈長度為3時,分別計算出矩陣鏈abc bcd的最優值 矩陣鏈長度為4時,計算出矩陣鏈abcd的最優值 動歸方程 k為矩陣鏈斷開...

Poj1651 矩陣鏈乘

題目沒有以明顯得矩陣鏈乘的形式給出來,但是按照它的規則去做就發現是可以轉換成矩陣連乘的,注意些遞推程式的時候,長區間的值要依賴短區間的值,所以還要有區間長度的迴圈,並且每次進入新的長區間進行劃分之前,都要用短區間來更新長區間的初值 poj1651.cpp 定義控制台應用程式的入口點。include ...

poj 1179 矩陣鏈乘加括號

題意 多邊形遊戲,有n個頂點的多邊形,3 n 50 多邊形有n條邊,每個頂點中有乙個數字 可正可負 每條邊上或者是 號,或者是 號。邊從1到n編號,首先選擇一條邊移去,然後進行如下操作 1 選擇一條邊e和邊e連線著的兩個頂點v1,v2 2 用乙個新的頂點代替邊e和v1 v2,新頂點的值為v1 v2中...