http://poj.org/problem?id=1088

一道中文题,这道题如果不限时的话,是个简单的搜索,但限时的话,就要用记忆化搜索

所谓记忆化搜索就是对每一次搜索的结果进行记录,然后之后的如果需要使用到这次搜索的结果的话,就可以直接使用,不需要再去搜索,可以减少很多时间

 #include <stdio.h>
#include <iostream>
#include <string.h> using namespace std;
int cub[][];
bool jud[][];
int dis[][]; int m,n,max1,x,y,ans; int dfs(int i,int j){
if(cub[i-][j]<cub[i][j]){
if(!jud[i-][j]) { //这个就是我的记忆化搜索,把以前搜索到的结果,直接使用就可以。
ans+=dis[i-][j];
if(ans>dis[x][y]) dis[x][y]=ans;
ans-=dis[i-][j];
}
else {
ans++;
dfs(i-,j);
if(ans>dis[x][y]) dis[x][y]=ans;
ans--;
}
}
if(cub[i+][j]<cub[i][j]){
if(!jud[i+][j]) {
ans+=dis[i+][j];
if(ans>dis[x][y]) dis[x][y]=ans;
ans-=dis[i+][j];
}
else {
ans++;
dfs(i+,j);
if(ans>dis[x][y]) dis[x][y]=ans;
ans--;
}
}
if(cub[i][j-]<cub[i][j]){
if(!jud[i][j-]) {
ans+=dis[i][j-];
if(ans>dis[x][y]) dis[x][y]=ans;
ans-=dis[i][j-];
}
else {
ans++;
dfs(i,j-);
if(ans>dis[x][y]) dis[x][y]=ans;
ans--; }
}
if(cub[i][j+]<cub[i][j]){
if(!jud[i][j+]) {
ans+=dis[i][j+];
if(ans>dis[x][y]) dis[x][y]=ans;
ans-=dis[i][j+];
}
else {
ans++;
dfs(i,j+);
if(ans>dis[x][y]) dis[x][y]=ans;
ans--; }
}
jud[x][y]=false; //每一个搜索后,对那个那个搜索后的点进行标记
return ;
}
int main(){
scanf("%d%d",&m,&n);
memset(dis,,sizeof(dis));
memset(jud,false,sizeof(jud));
memset(cub,,sizeof(cub)); //初始化1的目的就是边界。把那些边界的值都赋值为很大。memset赋值1的话,cub里面的数不是1.
max1=;
for(int i=;i<=m;i++)
for(int j=;j<=n;j++){
scanf("%d",&cub[i][j]);
dis[i][j]=;
jud[i][j]=true;
}
for(x=;x<=m;x++)
for(y=;y<=n;y++){
ans=;
dfs(x,y);
if(max1<dis[x][y]) max1=dis[x][y];
}
printf("%d\n",max1);
return ;
}

POJ 1088的更多相关文章

  1. POJ 1088 滑雪(记忆化搜索)

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 92384   Accepted: 34948 Description ...

  2. POJ 1088 滑雪(记忆化搜索+dp)

    POJ 1088 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 107319   Accepted: 40893 De ...

  3. POJ 1088 滑雪 (记忆化搜索)

    题目链接:http://poj.org/problem?id=1088 题意很好懂,就是让你求一个最长下降路线的长度. dp[i][j]记录的是i j这个位置的最优的长度,然后转移方程是dp[i][j ...

  4. POJ 1088 滑雪 -- 动态规划

    题目地址:http://poj.org/problem?id=1088 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  5. OpenJudge/Poj 1088 滑雪

    1.链接地址: bailian.openjudge.cn/practice/1088 http://poj.org/problem?id=1088 2.题目: 总Time Limit: 1000ms ...

  6. poj 1088 滑雪(区间dp+记忆化搜索)

    题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度: 2>状态转移方程 ...

  7. poj 1088 (dfs+记忆化) 滑雪

    题目;http://poj.org/problem?id=1088 感觉对深搜还不太熟练,所以练习一下,类似于连连看的那题,注意的是所求的是最大达长度,并不是从最大的或者最小的点出发得到的就是最长的路 ...

  8. POJ 1088 滑雪 【记忆化搜索经典】

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

  9. poj 1088 滑雪 DP(dfs的记忆化搜索)

    题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 ...

随机推荐

  1. MVC缓存OutPutCache学习笔记 (一) 参数配置

    OutPutCache 参数详解 Duration : 缓存时间,以秒为单位,这个除非你的Location=None,可以不添加此属性,其余时候都是必须的. Location : 缓存放置的位置; 该 ...

  2. Yii2 数据操作Query Builder(转)

    Query Builder $rows = (new \yii\db\Query()) ->select(['dyn_id', 'dyn_name']) ->from('zs_dynast ...

  3. Objective-C 链式语法的实现

    对于 Objective-C 的语法,喜欢的人会觉得它是如此的优雅,代码可读性强,接近自然语言,开发者在调用大多数方法时不需要去查看注释或文档,通常只凭借方法名就可以大致知道这个方法的作用,可以理解为 ...

  4. vim 打开Linux下文件每一行后面都有^M的样式

    由于服务器不是我一个人在操作,在修改apache配置文件时发现了一个很奇怪的问题,vim编辑打开配置文件发现后面都有一个^M的标记 虽然不会影响服务的运行,但总感觉不对劲,所以在此我尝试用替换的方式来 ...

  5. TTFB-首字节时间简介

    百度站长工具里看到有一个"首字节时间"的建议,第一次听说,还真不知道是什么东东.百度站长工具里面的解释是:"浏览器开始收到服务器响应数据的时间=后台处理时间+重定向时间, ...

  6. 【开源一个小工具】一键将网页内容推送到Kindle

    最近工作上稍微闲点,这一周利用下班时间写了一个小工具,其实功能挺简单但也小折腾了会. 工具名称:Simple Send to Kindle Github地址:https://github.com/zh ...

  7. Markdown 學習

    Markdown 格式由John Gruber 創建,是一種便於閱讀,非常簡潔直觀的純文本文件格式,可以方便地轉為html等其他格式,很適合與寫作,不需要關注排版問題 常用學習資源有: ###標題用 ...

  8. I’ve seen the world,lit it up as my stage now

    I've seen the world,lit it up as my stage now 阅尽繁华 点亮红尘做舞台 Channeling angels in,the new age now 粉末登场 ...

  9. js兼容注意事项--仅供参考

    做BS开发就难免会用到javascript,而每个浏览器对javascript的支持有不同.这就需要我们程序员去兼容他们,不然有些浏览器就无法运行我们的代码.就会造来客户的投诉,如果让BoSS知道了, ...

  10. 扩展RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...