QAQ codevs滑雪和記憶化搜尋的小經驗

2021-07-24 09:46:59 字數 1200 閱讀 9423

戳我←

題目描述 description

輸入描述 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

第一次打了個手打佇列的寬搜,居然a了四個點嘿嘿嘿嘿嘿

orz57級wzd和wyh兩個dp大佬

第一道記憶化搜尋的題目。

思路是以每乙個點為起點進行dfs,用dp陣列記錄下每次搜到的最長路

一開始傻傻的認為不同起點時搜到的每個點的最長路是不一樣的qaaaq

嘛,遞迴就是相同的過程一層層算下去

既然一開始要求最優解的話,那程式得到的每一層結果也一定是最優的

也可以理解成滑到那裡忽然翻車了滑到的最長路徑是多少23333

這樣,當搜到乙個節點,發現已經搜到過他的最長路,那就直接呼叫

已經知道翻車前最多滑多遠了,爬起來繼續滑還能滑多遠呢23333

#include

#include

using

namespace

std;

const

int maxn = 1000 + 1;

intmap[maxn][maxn],dp[maxn][maxn],maxx;

int mu = ,

mr = ;

int dfs(int k,int j)

return dp[k][j] = ans;

}int m,n;

int main()

cout

<< maxx;

return

0;}

滑雪 記憶化搜尋

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更長,事實上這是最長的一條。輸...