qwb與矩陣 簡單dp

2021-08-02 02:59:47 字數 1001 閱讀 6699

做完了辣麼多的數學題,qwb好好睡了一覺。但是他做了乙個夢:

有乙個n*m的矩陣,qwb在這個矩陣的左上角(1,1),終點在右下角(n,m)。

每個格仔中有小錢錢,也可能沒有,還有可能是要交過路費的,並且行走方向必須是靠近終點的方向。

往下走一次只能走一格,往右走一次可以走一格也可以走到當前列數的倍數格。

比如當前格仔是(x,y),那麼可以移動到(x+1,y),(x,y+1)或者(x,y*k),其中k>1。

qwb希望找到一種走法,使得到達右下角時他能夠有最多的小錢錢。

你能幫助他嗎?

第一行是測試例數量 t (t<=100),接下來是t組測試資料。

每組測試資料的第一行是兩個整數n,m,分別表示行數和列數(1<=n<=20,1<=m<=10000);

接下去給你乙個n*m的矩陣,每個格仔裡有乙個數字 k (-100<=k<=100)代表小錢錢的數量。 ∑nm<=3,000,000

每組資料一行,輸出l先生能夠獲得小錢錢的最大值(可能為負數)。

1 3 8

9 10 10 10 10 -10 10 10

10 -11 -1 0 2 11 10 -20

-11 -11 10 11 2 10 -10 -10

很明顯是個dp問題 需要乙個狀態轉移方程 題中直接給出來方案了

不過dp轉移的過程還不是很懂= =這麼嘛。。嘿嘿。。這週做兩道模板題再手下寫過程吧!

#include 

#include

using

namespace

std;

int ar[25][10005];

int dp[25][10005];

int main()

}dp[1][1] = 0;

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

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

}return

0;}

qwb與矩陣 DP 輸入掛

qwb與矩陣 time limit 2 sec memory limit 128 mb submit 1210 solved 260 submit status web board description 做完了辣麼多的數學題,qwb好好睡了一覺。但是他做了乙個夢 有乙個n m的矩陣,qwb在這個矩...

最大矩陣(簡單DP)

見題 很水的一題,資料範圍太小,字首和加爆搜就行.includeusing namespace std const int maxn 110 int ans 1 m,n,sum maxn maxn inline intread while isdigit ch return x ff inline ...

簡單DP 矩陣取數問題

乙個n n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,從左上走到右下,只能向下向右走,求能夠獲得的最大價值。例如 3 3的方格。1 3 3 2 1 3 2 2 1 能夠獲得的最大價值為 11。input 第1行 n,n為矩陣的大小。2 n 500 第2 n 1行 每行n個數,中間用空...