HDU 1078 DP 記憶化搜尋

2021-08-19 11:21:46 字數 565 閱讀 1283

給你乙個n∗

n n∗n

的矩陣,每個位置都有乙個數字a[i][j],然後從(0,0)開始走,每次只能走1~k步,並且要使得下乙個位置的a大於當前位置的a,要求這麼走下去的最大和。

多組輸入,1≤

n≤100 1≤n

≤100

#include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 100;

int n, k, max;

int a[maxn + 5][maxn + 5];

int dp[maxn + 5][maxn + 5];

int dfs(int x, int y) }}

dp[x][y] = max + a[x][y];

return dp[x][y];

}int main()

return

0;}

hdu 1078 (dp記憶化搜尋)

題意 有乙個n n的方格,每個格仔有乙個價值,經過這個格仔就可以得到這個價值,每次可以橫著或者豎著一步最多走k格,並且每次走的格仔要比上乙個格仔的價值大,問現在從位置 1,1 走,最大可以獲得的價值.分析 記憶化搜素,dp i j 表示的是從位置 i,j 開始走可以獲得的最大價值。記錄下這些價值就可...

HDU 1078 記憶化搜尋 DP

題目大意 給乙個n n正方形,從左上角開始走,每次可以橫著或豎著走,最多走k步 要麼橫著要麼豎著!只能從小數字往大數字走,問結果最大是多少 以下是 includeusing namespace std define inf 0x3f3f3f3f define rep i,a,b for int i ...

hdu 1078 記憶化搜尋

hdu 1078 題意 每次可以朝乙個方向走k格,必須走到乙個數值比當前值大的點,問最多數值加起來能有多少,走到不能再走。一開始定義錯了,定義dp i j 為以 i,j 為終點時所能得到的最大值。dp i t dx j t dy max dp i t dx j t dy dp i j a i t d...