p1434[shoi2002]滑雪记忆化搜索dp(代码片段)

幽殇默 幽殇默     2023-01-26     352

关键词:


https://www.luogu.com.cn/problem/P1434
何为记忆化搜索,本质上就是我们已经知道每一个状态的值了,就无需重复的计算了,减少了时间的消耗。

上图摘自:小呆呆大佬

#include<bits/stdc++.h>
using namespace std;
const int N=110;
int a[N][N],f[N][N],n,m;
int dx[4]=-1,0,0,1;
int dy[4]=0,-1,1,0;
int dp(int x,int y) 

	if(f[x][y]!=-1) return f[x][y];
	f[x][y]=1;
	for(int i=0;i<4;i++)
	
		int tempx=x+dx[i];
		int tempy=y+dy[i];
		if(tempx>=1&&tempx<=n&&tempy>=1&&tempy<=m&&a[x][y]>a[tempx][tempy])
		
			f[x][y]=max(f[x][y],dp(tempx,tempy)+1);
		
	
	return f[x][y];

int main(void)

	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++) 
				cin>>a[i][j];
	memset(f,-1,sizeof f);
	int res=0;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
			res=max(res,dp(i,j));
	cout<<res<<endl;
	return 0;

p1434[shoi2002]滑雪(21.10.21)(代码片段)

原题链接题意:分析:因为题目没有要求起点,也就是二维数组任意一个位置都可以作为起点向四周发散,所以想到用搜索。可以用深度优先搜索算法解决,需要另设一个二维数组存储当前位置是否走过。详... 查看详情

[shoi2002]滑雪(记忆化搜索模版)(代码片段)

题目链接:https://www.luogu.com.cn/problem/P1434 想法:记忆化搜索板子题:#include<algorithm>#include<string>#include<string.h>#include<vector>#include<map>#include<stack>#include<set>#include<queue>#include<math.h>#include&l... 查看详情

p1434[shoi2002]滑雪dfs(代码片段)

  题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一... 查看详情

poj1088:滑雪(经典dp+记忆化搜索)

滑雪TimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 74996 Accepted: 27818DescriptionMichael喜欢滑雪百这并不奇怪,由于滑雪的确非常刺激。但是为了获得速度,滑的区域必须向下倾斜,并且当你滑到坡底,你不得不再... 查看详情

[shoi2002]滑雪-题解报告(代码片段)

题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二... 查看详情

动态规划-与记忆化搜索结合

P1434滑雪题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域... 查看详情

poj1088滑雪dp(dfs的记忆化搜索)

题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵如果其中一个点高于另一个点那么就可以从高点向下滑直到没有可以下滑的时候就得到一条下滑路径求最大的下滑路径 分析:因为只能从高峰滑到低峰,无... 查看详情

poj_1088_(dp)(记忆化搜索)

滑雪TimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 95792 Accepted: 36322DescriptionMichael喜欢滑雪百这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次... 查看详情

openj_bailian-1088滑雪(记忆化搜索)

题意:给定一个二维数组,一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小,输出可以滑行的最长区域的长度。分析:对于每一个点,进行记忆化搜索。若某点可以向四周某几个点滑行,记忆化搜索求出这... 查看详情

滑雪(dp或记忆化搜索)

题意:给你一个二维数组,求最长的递减路线的长度,只能向四个方向延伸。 解法1、dp【i】【j】以i、j结尾的最长路线长度。边界:每个数初值为1,转移:从四周向i、j转移,if(a[i][j]>a[x][y])dp[i][j]=max(dp[i][j],dp[x][y]+1);注意... 查看详情

poj1088滑雪(记忆化搜索)

滑雪TimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 92384 Accepted: 34948DescriptionMichael喜欢滑雪百这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次... 查看详情

搜索洛谷p1434滑雪

 P1434滑雪题目描述Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。... 查看详情

shoi2002滑雪(代码片段)

题面Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数... 查看详情

题解滑雪luogu1434记忆化搜索(代码片段)

记忆化搜索入门题题目Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。... 查看详情

滑雪记忆化搜索简单模型(代码片段)

滑雪是一项非常刺激的运动,为了获得速度,滑雪的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。给出一个由二维数组表示的滑雪区域,数组的数字代表各点的高度。请你找出这个区域中... 查看详情

记忆化搜索||poj1088滑雪

从任意一点可以往上下左右比它小的数那里走,问最远长度是多少*解法:每一点dfs搜索一遍记忆化搜索:http://blog.csdn.net/acmer_sly/article/details/53440798递归:求解的方法都是相同的(距离是周围的点最大值加一),假设已知周围点... 查看详情

poj1088滑雪记忆化搜索

解析:状态d[i][j]代表r=i,c=j这个位置能滑的最大长度。深搜+备忘录#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>usingnamespacestd;constintmaxn=100+5;intR,C;inta[maxn][maxn];intd[m 查看详情

记忆化搜索

滑雪TimeLimit: 1000MS MemoryLimit: 65536KTotalSubmissions: 97249 Accepted: 36874DescriptionMichael喜欢滑雪百这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次... 查看详情