HDU 5569 矩陣的最小貢獻 (DP)

2021-07-07 09:05:02 字數 1473 閱讀 3780

問題描述

給定n*mn∗

m(n+mn+

m為奇數)的矩陣,從(1,1)(1

,1)走到(n,m)(n

,m)且只能往右往下走,設經過的數為a_1, a_2 ... a_a​

1​​,

a​2​

​...

a​2k

​​,貢獻為a_1*a_2+a_3*a_4+...+a_*a_a​

1​​∗

a​2​

​+a​

3​​∗

a​4​

​+..

.+a​

2k−1

​​∗a

​2k​

​,求最小貢獻。

輸入描述

若干組資料(大概5

5組)。

每組資料第一行兩個數n,m(1 \leq n,m \leq 1000n,

m(1≤

n,m≤

1000

且n+mn+

m為奇數)。

接下來n

n行每行m

m個數a_i, j(1 \leq ai,j \leq 100)a​

i​​,

j(1≤

ai,j

≤100

)描述這個矩陣。

輸出描述

對於每組資料,輸出一行表示答案。
輸入樣例

2 3

1 2 3

2 2 1

2 32 2 1

1 2 4

輸出樣例

4

8

畫個圖

dp[i][j]dp

[i][

j]表示當前走到第

i,ji,j

個位置的最小貢獻,我們可以假定

(i+j)(i

+j)為奇數,由該狀態可以轉移向最多44

個位置,就可以了。

做dp的時候心不要急,好好找找狀態與轉移方程即可!!!!!!!!

#include#include#include#include#include#include#include#includeusing namespace std;

typedef long long ll;

int dp[1111][1111],a[1111][1111];

const int inf=99999999;

int main()

for(i=0;i<=n;i++)

dp[1][1]=0;

for(i=1;i<=n;i++)

else if(j==1)

else }}

printf("%d\n",dp[n][m]);

}return 0;

}

最小透視矩陣的求法

遇到很多時候,需要把透視矩陣最小化,以達到效能最優。比如要求 camera 只能看到乙個洞口裡的內容這樣其它的區域是不需要進行渲染的。這裡自己寫了乙個求最小透視矩陣的方法。第一步是先求出 camera 到box 中心的向量 veccb 定義從 box中心到四個頂點的向量,再求出其各自到 veccb ...

hdu 2254 矩陣的應用

題意 有向圖中求a點到b點路徑長度為t1 t2的路徑總數 離散數學中,有向圖的鄰接矩陣a表示所有點之間路徑長度為1的路徑數量,a n則表示路徑長度為n的路徑數量,故需要求某兩點在 a t1 a t2 的路徑數量之和 1 include2 include3 include4 const int n 3...

矩陣的最小路徑和

準備校招的!這些是一本書的筆記 程式設計師 面試指南 it名企演算法與資料結構題目最優解 左程雲 給定乙個矩陣m,從左上角開始每次只能向右或者向下走,最後到達右下角的位置,路徑上所有的數字累加起來就是路徑和,返回所有的路徑中最小的路徑和 舉例 如果給定的m如下 135 9 813 4 506 1 8...