codevs 2152 滑雪 記憶化搜尋

2021-07-22 23:18:25 字數 1015 閱讀 1982

記憶化搜尋練習

神奇鏈結

輸入描述 input description

輸入檔案

第1行: 兩個數字r,c(1<=r,c<=100),表示矩陣的行列。

第2..r+1行:每行c個數,表示這個矩陣。

輸出描述 output description

輸出檔案

僅一行: 輸出1個整數,表示可以滑行的最大長度。

樣例輸入 sample input

5 5

1 2 3 4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9

樣例輸出 sample output

25資料範圍及提示 data size & hint

1sdp[i][j]表示從i,j出發最遠到達的距離

則dp[i][j]=max(dp[a][b]+1,dp[i][j])

a,b和i,j相鄰並且這個位置的數要比i,j位置的數小才是合法的

這樣很難用遞推來實現,所以我們考慮用記憶化搜尋。

注意要把這兩個記錄答案的變數初始化為1,因為就算周圍都沒有合法的數,它最遠走到的距離也是1(它本身)。

**如下:

#include

#include

#include

#include

using

namespace

std;

const

int maxn=100+50;

int dp[maxn][maxn];

int maps[maxn][maxn];

int dx[4]=,

dy[4]=;

int n,m;

int dfs(int i,int j)

dp[i][j]=ans;

return ans;

}int main()

滑雪 記憶化搜尋

from silence 滑雪 背景 background 成成第一次模擬賽 第三道 描述 description 輸入格式 input format 輸入檔案 第1行 兩個數字r,c 1 r,c 100 表示矩陣的行列。第2.r 1行 每行c個數,表示這個矩陣。輸出格式 output format...

記憶化搜尋 滑雪

題目描述 michael喜歡滑雪這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長底滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 16...

滑雪 記憶化搜尋

trs喜歡滑雪。他來到了乙個滑雪場,這個滑雪場是乙個矩形,為了簡便,我們用r行c列的矩陣來表示每塊地形。為了得到更快的速度,滑行的路線必須向下傾斜。例如樣例中的那個矩形,可以從某個點滑向上下左右四個相鄰的點之一。例如24 17 16 1,其實25 24 23 3 2 1更長,事實上這是最長的一條。輸...