POJ 1088 滑雪【记忆化搜索】

原创 2013年12月03日 17:22:30

转载请注明出处:http://blog.csdn.net/a1dark

最近一直在练DP。。。结果悲催的发现DP越来越不行了。。怎么也写不出来。。反倒是记忆化搜索越写越顺了。。真尼玛是个悲剧。。可怜。。唉!

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn=105;
int dp[maxn][maxn];
int mpt[maxn][maxn];
int dir[4][2]={0,1,1,0,-1,0,0,-1};
int n,m;
int dfs(int x,int y){
    if(dp[x][y]>0)return dp[x][y];
    for(int i=0;i<4;i++){
        int tx=x+dir[i][0];
        int ty=y+dir[i][1];
        if(tx>=1&&tx<=n&&ty>=1&&ty<=m&&mpt[x][y]>mpt[tx][ty]){
            dp[x][y]=max(dp[x][y],1+dfs(tx,ty));
        }
    }
    return dp[x][y];
}
int main(){
    while(scanf("%d%d",&n,&m)!=EOF){
        int len=0;
        memset(dp,0,sizeof(dp));
        memset(mpt,0,sizeof(mpt));
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                scanf("%d",&mpt[i][j]);
            }
        }
        int maxx=0;
        for(int i=1;i<=n;i++){
            for(int j=1;j<=m;j++){
                if(dp[i][j]==0){
                    int ans=dfs(i,j);
                    if(ans>maxx)maxx=ans;
                }
            }
        }
        printf("%d\n",maxx+1);
    }
    return 0;
}


版权声明:本文为博主原创文章,转载请注明出处 http://blog.csdn.net/a1dark

相关文章推荐

poj 1088 滑雪[zz] 记忆化搜索

题意:给出一些高度,从一个位置划只能往周围四个方向滑,且高度递减。。求最长的滑行区域。  这道题应该是用DP做,但是没咋搞过DP所以也木有什么想法。。 在网上看可以用记忆化搜索做,记忆化搜索 = 搜...

POJ 1088 滑雪 (记忆化搜索)

Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知...
  • wchhlbt
  • wchhlbt
  • 2016年03月28日 16:09
  • 145

Poj 1088 滑雪 (简单DP + 记忆化搜索)

题目链接:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS   Memory Limit: 65536K...

poj 1088 滑雪(dfs记忆化搜索)

题目:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submiss...

POJ 1088 滑雪(动态规划+记忆化搜索)

//动态规划 + 记忆化搜索 #include #include const int nMax = 107; int R, C; int map[nMax][nMax]; int dp[nMax...

poj 1088滑雪(记忆化搜索, dp)

滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 92465   Accepted: 34980 De...
  • CillyB
  • CillyB
  • 2016年09月21日 00:08
  • 172

POJ-1088-滑雪-解题报告-动态规划-记忆化搜索

在给出这道题的解题报告之前,先看下记忆化搜索的个人理解。 以最简单的递归求阶乘的函数进行说明。 常见的求阶乘的代码是这样的: int fac(int n) { if(n == 1) ret...
  • lihao21
  • lihao21
  • 2011年01月27日 18:38
  • 1462

POJ 1088 滑雪(记忆化搜索)

滑雪 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来...

(poj 1088 滑雪) <记忆化搜索>

记忆化搜索

POJ 1088 滑雪(记忆化搜索+DFS)

100*100的矩阵,如果裸dfs很可能超时,所以可以用记忆化搜索的方式,dp[i][j]表示当前到达[i,j]的最长路径,在dfs的同时,更新dp[i][j]。思路总体来说很简单。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 1088 滑雪【记忆化搜索】
举报原因:
原因补充:

(最多只允许输入30个字)