這題剛開始我想到的是搜尋,但是超時了,所以要進行優化,聽說這是dp經典題,當時就瘋了,dp才初學,想到的是
dp[i,j]=max(dp[四個方向]);
但寫出來不太理想,主要是不懂的遞迴間數值的變化,導致一直出不來答案!
後來看題解啊,改啊,搞啊,許久才出來個能a的**,並且還0ms了,看來還得多熟悉下
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define maxin 10000
int f[4][2]=,,,};
int map[110][110];
int v[110][110];
int r,c,x,y;
int dfs(int i,int j)
// printf("\n");
}printf("%d\n",max);
return 0;
}
poj 1088 滑雪問題
題目大意 中文。不解釋 解題思路 動態規劃,這裡要求從乙個點往上下左右移動,要滿足高度差,我們可以把每個位置記錄儲存好,按照高度,從小到大排列,然後利用動態規劃往乙個高度增長的方向就可以處理,轉換為類似於最長遞增子串行問題 include include include include using ...
POJ 1088 滑雪 題解
poj1062 昂貴的聘禮 michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長底滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 ...
動態規劃 POJ1088 滑雪問題
description michael喜歡滑雪百這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道載乙個區域中最長底滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 ...