poj1088(记忆化搜索入门题)
题目链接:http://poj.org/problem?id=1088
思路:
明显的记忆化搜索题,用dp[i][j]表示从(i,j)出发能滑的最远距离,用dfs搜索,若dp[x][y]>0即已经计算过,直接返回值即可,否则按照dfs思路递推计算其最大值,递推式为:
dp[x][y]=max(dp[x][y],dfs(xx,yy)+1)((xx,yy)与(x,y)相邻,且a[xx][yy]<a[x][y])。详见代码:
#include<cstdio>
#include<algorithm>
using namespace std; int r,c,res;
int a[][],dp[][];
int go[][]={-,,,,,,,-}; int dfs(int x,int y){
if(dp[x][y]>) return dp[x][y];
dp[x][y]=;
for(int i=;i<;++i){
int xx=x+go[i][],yy=y+go[i][];
if(xx>=&&xx<r&&yy>=&&yy<c&&a[xx][yy]<a[x][y])
dp[x][y]=max(dp[x][y],dfs(xx,yy)+);
}
return dp[x][y];
} int main(){
scanf("%d%d",&r,&c);
for(int i=;i<r;++i)
for(int j=;j<c;++j)
scanf("%d",&a[i][j]);
for(int i=;i<r;++i)
for(int j=;j<c;++j){
int tmp=dfs(i,j);
if(tmp>res) res=tmp;
}
printf("%d\n",res);
return ;
}
poj1088(记忆化搜索入门题)的更多相关文章
- POJ 1579 Function Run Fun 【记忆化搜索入门】
题目传送门:http://poj.org/problem?id=1579 Function Run Fun Time Limit: 1000MS Memory Limit: 10000K Tota ...
- UVA10118(记忆化搜索 + 好题)
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19440 题意,4堆不同颜色的糖果,每堆N个,从堆上往下拿,放入一个最大装5个 ...
- POJ1088(记忆化搜索)
经典记忆化搜索题目.当 从每个点一次进行搜索时要采用 记忆化搜索 #include"cstdio" #include"algorithm" using name ...
- 记忆化搜索模板题---leetcode 1155. 掷骰子的N种方法
1155. 掷骰子的N种方法 这里有 d 个一样的骰子,每个骰子上都有 f 个面,分别标号为 1, 2, ..., f. 我们约定:掷骰子的得到总点数为各骰子面朝上的数字的总和. 如果需要掷出的总点数 ...
- TSP+期望——lightoj1287记忆化搜索,好题!
感觉是很经典的题 记忆化时因为不好直接通过E判断某个状态是否已经求过,所以再加一个vis打标记即可 /*E[S][u]表示从u出发当前状态是S的期望*/ #include<bits/stdc++ ...
- 【题解】滑雪 luogu1434 记忆化搜索
记忆化搜索入门题 题目 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在 ...
- 记忆化搜索:POJ1088-滑雪(经典的记忆化搜索)
skiing 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑 ...
- vj1011:记忆化搜索
vj1011:记忆化搜索 这题就是很简单的记忆化搜索即可,和经典题目滑雪简直一模一样 对于记忆化搜索,我也是暑假看了ccy大神的题解才有所领悟的 其实也就是DFS+mark 主要的部分 int sea ...
- P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm 记忆化搜索dfs
题目描述 每年,在威斯康星州,奶牛们都会穿上衣服,收集农夫约翰在N(1<=N<=100,000)个牛棚隔间中留下的糖果,以此来庆祝美国秋天的万圣节. 由于牛棚不太大,FJ通过指定奶牛必须遵 ...
随机推荐
- freePBX汉化方法记录——备忘
FreePBX汉化[root@bgcc69:/var/www/html/admin/i18n/zh_CN/LC_MESSAGES]$pwd/var/www/html/admin/i18n/zh_CN/ ...
- div+Css绝对定位(absolute)和相对定位(relative)的总结
1.没有外Div的情况下 设置绝对定位(absolute)和相对定位(relative)是没有区别的 2.相对定位占位置 而绝对定位不占位置 会漂浮在别的Div之上 3.若父Div没有设置定位,子Di ...
- iOS 基础
layoutSubviews: layoutSubviews是对sbuviews的重新布局,比如,我们想更新子视图的位置,可以通过调用layoutSubviews方法(不能直接调用) layoutSu ...
- 第13章 TCP编程(2)_TCP的连接和关闭过程
4. TCP的连接和关闭过程 4.1 TCP连接的三次握手和四次挥手 (1)三次握手 ①第1次握手:建立连接.客户端发送连接请求报文段(SYN=1,sequence Number=x):然后客户端进入 ...
- Dividing Infinity - Distributed Partitioning Schemes
This is the second post in a series discussing the architecture and implementation of massively para ...
- 基于RDBMS的OLAP的解决方案
BI项目如何开发: 了解OLAP的分析方法: 对数据进行多维建模分析,也就是自己设计自己的数据方体,之后程序自动生成数据方体 数据方体: 1.自动成的表结构,仅仅有你需要的列 2.生成一条SQL语句( ...
- VFS文件系统结构分析
VFS是Linux非常核心的一个概念,linux下的大部分操作都要用到VFS的相关功能.这里从使用者的角度,对VFS进行了简单说明.使用者不但需要知道Linux下有哪些文件操作的函数,还需要对VFS的 ...
- [Flutter] 支持描边效果的Text
新版的flutter已经自带这个功能了.TextSyle 中一个shadow . 目前flutter中没找到很好的办法给Text增加描边.自己扩展了一个TextEx,可以实现简单的描边效果,能满足大部 ...
- faker模块基本用法
引言: 自动化脚本编写时,一般会遇到需要构造数据的情况,比如注册时的基本信息:每次执行脚本都要重新构造数据显然是很费时费力的事情,所以可以用到faker模块来构造:方便快捷,神器也: 一.安装 pip ...
- UVA-572-搜索基础题
题意 GeoSurvComp 地理调查公司负责发现石油存储,这次GeoSurvComp公司在一个大型矩形区域上工作,它用一个网格分割地表,然后用可感知装备来单独分析每块小方格区域下是否包含石油,有油的 ...