POJ 1088 滑雪 C++版
题目链接:http://poj.org/problem?id=1088
DP初学者的好题,题意也简单,找2维数组,最长降序数列。
DP解题的经典问题,利用记忆搜索,也是我们平常的递归运算。
讲一下思路,递归4方向搜索,求最大的数,我利用的一个方向数组来完成四个方向的!
其中,两个问题拦住了我的AC,
第一个先开始,纯利用递归,导致重复计算量过大,TLE了,我们观察下其实每个点开始的最长降序数列的长度都是固定的,我们利用dp数组储存每个点的信息,可以避免重复计算,
第二个是,我在dfs函数中先开始,判断的条件是
1 | if(map[m][n]>0) |
1 | if(m>=1&&m;<=c&&n;>=1&&n;<=r) |
1 | /*************************************** |