題意:給出一些高度,從乙個位置劃只能往周圍四個方向滑,且高度遞減。。求最長的滑行區域。 這道題應該是用dp做,但是沒咋搞過dp所以也木有什麼想法。。
在網上看可以用記憶化搜尋做,記憶化搜尋 = 搜尋方式 + dp思想 ,大概的意思就是把已經搜過的節點狀態儲存起來,避免重複搜尋的一種方法,有待理解加以應用。
**中的step陣列 就是 記錄了從該點劃的最長區域,當再搜到這個點的時候,就不用一直在搜到底,直接返回這個最優值就可以了。。
#includeusing namespace std;
int map[105][105];
int step[105][105];//儲存了 從當前狀態 滑 最長的區域距離
int dir[4][2]=,,,};
int n , m;
int dfs(int x,int y)
} return step[x][y];
}int main()
}printf("%d\n",maxx + 1);
} }
POJ 1088 滑雪 記憶化搜尋
滑雪 time limit 1000ms memory limit 65536k total submissions 79619 accepted 29637 description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你...
POJ 1088 滑雪 DFS(記憶化)
滑雪time limit 1000ms memory limit 65536k total submissions 80532 accepted 30038 description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不...
POJ 1088 滑雪 記憶化搜尋
description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長底滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 ...