POJ 1088 滑雪

POJ DP 百练1088 滑雪问题 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子  1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 1 阅读详情

滑雪

Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子

 1  2  3  4 5

16 17 18 19 6

15 24 25 20 7

14 23 22 21 8

13 12 11 10 9


一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度减小。在上面的例子中,一条可滑行的滑坡为24-17-16-1。当然25-24-23-...-3-2-1更长。事实上,这是最长的一条。

 

Input

输入的第一行表示区域的行数R和列数C(1 <= R,C <= 100)。下面是R行,每行有C个整数,代表高度h,0<=h<=10000。

 

Output

输出最长区域的长度。

 

Sample Input

5 5
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Sample Output

25

这是典型的 搜索加动态规划问题,我们需要对每一个坐标的上下左右进行走一遍,如果值大则可以往下走,继续递归,如果小的话则不能,需要对每一个点进行一个dp()动态规划,来进行选择而出最大的一个点。

 

#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;

int a[110][110];
int len[110][110];
int r, c;
int mv[4][2]={{-1,0},{0,1},{1,0},{0,-1}};  //左下右上
int dp(int i, int j) {
	if (len[i][j]) {    //已经到达
		return len[i][j];
	}
	int x, y,ms=0;
	for (int k = 0; k < 4; k++) {
		x = mv[k][0]+ i;
		y = mv[k][1] +j;
	
		if (x < 0 || y < 0 || x >= r || y >= c) { 
			continue;
		}
		if (a[x][y] < a[i][j]) {   //可以下降
			int next = dp(x, y);
			ms = max(ms, next);
		}
	}
	len[i][j] = ms + 1;
	return len[i][j];
}



int main()
{
	int ans;
	while (~scanf("%d%d", &r, &c)) {
		ans = -1;   //答案的每次初始化

		memset(a, 0, sizeof(a));
		memset(len, 0, sizeof(len));
		for (int i = 0; i < r; i++) {
			for (int j = 0; j < c; j++) {
				scanf("%d", &a[i][j]);
			}
		}

		for (int i = 0; i < r; i++)
		{
			for (int j = 0; j < c; j++) {
				ans = max(ans, dp(i, j));
			}
		}
		cout << ans << endl;
	}
	return 0;
}

 

poj(1088)——滑雪(经典递推型动归) 题意: 中文题,就是在所有的点中找一个点作为起点,然后叫你找出从起点开始的最长路径是多少。 这里高度必须严格递减。 思路: 一开始我碰到这题时,没有思路,是看题解写的。 但是今天我回头再去看时,发现自己能够独立写出来了,而且和上次的方法不一样。也许这就是进步吧! 其实就是一个递推型动归,如果理解了上一题,那么这题也好做了。 这是第一次写的: #include #include #i 阅读详情

相关推荐

【Cadence】Virtuoso@LayoutXL 差分电路版图同步修改

对于差分电路,器件和部分走线通常是对称的,只需要画一半,另一半通过镜像操作完成。因此,需要对差分电路进行同步的修改,保证电路的差分对称性和正确的连接关系。然而,通常版图会经过多次修改,修改的部分可能在镜像的时候被遗漏。左边画了金属块,右边也出现了同步出现了金属块。进入group会有同步复制的提示。

乾巽的博客 3049

poj 1088 滑雪

滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 97550   Accepted: 37015 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等

Ambition_Tn的博客 298

ESP32-S3开发环境避坑指南:VS Code+ESP-IDF离线安装全流程(附国内镜像加速)

本文提供了一份详细的ESP32-S3开发环境离线安装指南,重点解决网络依赖问题。通过整合国内镜像加速,手把手教你完成VS Code、ESP-IDF框架、工具链及Python依赖的本地化部署,实现稳定、可重复的开发环境搭建,大幅提升IoT开发效率。

peach的博客 961

算法实践:滑雪

滑雪 描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 ...

matafeiyanll的博客 598

Codesys 3.5报警功能配置保姆级教程:从变量定义到确认方式(含REF/ACK详解)

本文详细介绍了Codesys 3.5报警功能的配置流程,从变量定义到确认方式的选择,特别解析了REF和ACK两种确认方式的底层逻辑。通过实战案例和代码示例,帮助工程师快速掌握报警系统的搭建与调试技巧,提升工业自动化项目的可靠性。

weixin_29245767的博客 458

保姆级教程:用掘金量化API手把手复现一个年化17%的网格交易策略(附完整Python代码)

本文提供了一份详细的掘金量化API教程,手把手教你构建一个年化17%的网格交易策略。通过完整的Python代码实现,深入解析网格交易的核心逻辑、参数配置和动态调仓机制,帮助量化新手快速掌握策略开发全流程。教程包含环境配置、代码实现、回测分析和常见问题解答,是学习量化投资的实用指南。

weixin_33709364的博客 298

POJ 1088滑雪(3种解法)

描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 ...

Harington的博客 9979

SAP RAP 校验全流程:从 EML 读取到消息上屏与阻止落库

本文系统梳理了 SAP ABAP RAP 中的校验流程(The Validation Process),结合 Airline/Connection 案例,详细讲解了三类核心校验:语义键唯一性、外键有效性和字段间一致性。文章覆盖了 EML 的 READ ENTITIES 操作、reported-* 与 failed-* 结构的使用方法、消息创建与字段绑定技巧,以及处理草稿数据时的 UNION 查询策略。通过代码示例演示了如何实现校验逻辑、生成错误消息并阻止无效数据持久化,同时提供了常见问题的排查建议。全文注重

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 332

洛谷:P1434【滑雪】

题目描述 Michael喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子: 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 ...

修电缆的建筑工的博客 596

【ComfyUI】【Nunchaku】【diffusers报错解决】秋叶整合包安装 Nunchaku 报错的解决方法

最近在折腾 AI 绘图时,我尝试在秋叶的 ComfyUI 整合包中安装 `ComfyUI-nunchaku` 插件(版本 0.3.3),结果启动后直接报错,提示无法从 `accelerate.utils.memory` 中导入 `clear_device_cache`,让我一度怀疑插件是否兼容。查阅了一堆 issue 和源码之后,总算找到了原因和解决方法。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1855

优秀的 Verilog/FPGA开源项目介绍(二十六)- ISP (图像信号处理)

介绍查看《ISP算法及架构分析介绍》今天项目的顺序就是先介绍几个关于ISP算法架构的项目,包括python、matlab、c等高级语言实现的ISP算法架构,最后介绍一个FPGA实现ISP的项目。openISPhttps://github.com/cruxopen/openISP项目介绍用python实现的ISP架构,该架构涉及到的知识如下:下图是最新实现的模块:主要模块如...

OpenFPGA的博客 4946

POJ 【1088】 滑雪

POJ 【1088】 滑雪 滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 35399 Accepted: 12399 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想...

qq_43813140的博客 275

【DeepSeek R1构建本地RAG知识库】数据结构化清洗-知识图谱制作、使用、dify集成

本文探讨了在构建本地RAG(Retrieval-Augmented Generation)系统时,如何通过引入知识图谱来增强系统的知识理解能力。传统的向量数据库和嵌入模型虽然能处理语义匹配,但无法有效捕捉知识间的关联性。知识图谱通过“实体-关系-属性”的结构化表示,能够更好地支持推理、推荐和多跳问答等高级功能。文章详细介绍了知识图谱的基本概念、制作思路,以及如何使用Neo4j图数据库进行知识图谱的构建和查询。通过实例展示了从PDF文件解析到知识图谱入库的全过程,强调了知识图谱在提升RAG系统性能中的重要作用

少说,多做 563

POJ 1088 滑雪 (深搜)

题目链接:http://poj.org/problem?id=1088 题面: 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 83760   Accepted: 31349 Description     Michael喜欢滑雪这并不奇怪,

David_Jett 1340

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

POJ 1088:滑雪

题目描述:(此题目是2012北大信科夏令营上机考试题目) 总时间限制: 1000ms 内存限制: 65536kB 描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是

SmarterYu的专栏 884

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【 POJ 1088】 滑雪 动态规划

滑雪 Time Limit:1000MS Memory Limit:65536K Total Submissions:109909 Accepted:41848 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Mic...

天才小熊猫的博客 420

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

POJ1088 滑雪 简单DP

POJ1088 滑雪Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 17 18 19 6

Lxp的博客 435

POJ 1088 滑雪(dp)

题目链接:http://poj.org/problem?id=1088点击打开链接 滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 100627   Accepted: 38300 Description Michael喜欢滑雪百这并不奇

xuejye的博客 310

POJ 1088滑雪【动态规划】

一。借鉴了两位大神的做法: 1.https://blog.youkuaiyun.com/huanghanqian/article/details/51646241 2.https://blog.youkuaiyun.com/Harington/article/details/86534326(第二位大神是3种做法,其中 我的做法是“我为人人”的思想)。 第一位大神还给了测试用例:(特别感谢) /* 测试数据 S...

爱学习的大白菜的博客 406

滑雪-POJ-1088

题目来源:http://poj.org/problem?id=1088 滑雪 Time Limit: 1000MS    Memory Limit: 65536K Total Submissions: 86867   Accepted: 32503 题目大意: Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必

GreenTeak的博客 561

POJ 1088 滑雪(拓扑排序)

题目:1088 题意:求矩阵中的最长递减长度 题解:拓扑排序(剥洋葱) AC代码: #include<iostream> #include<vector> using namespace std; #define MAX 100 int cnt; int dir[4][2] = { {0,1}, {0,-1}, {1, 0}, {-1, 0} }; int ma...

qq_36552817的博客 249

POJ - 1088 滑雪 DFS+优化

POJ - 1088 滑雪 思路: 在深搜的同时,将每个点的最长长度保存下来,下次访问到这里直接使用就行,否则会超时。 #include&lt;iostream&gt; #include&lt;cstring&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; using namespace std; typedef long lon...

没有梦想何以远行 253
上一篇: C++STL常用库的详解和应用
下一篇: 201812-3 CCF-CSP CIDR合并
木禾DING
博客等级 码龄8年 191粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值