poj1088 dp

【原理图PCB专题】Cadence 17.4版本导出excel版本坐标文件 Cadence 17.4版本导出坐标文件往往都是txt格式,并且无标题、导出时间、导出设计工程多名称等信息。那么怎么样才能导出有带这些信息的excel版本并格式好看的坐标文件呢? 阅读详情

滑雪
Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 96210 Accepted: 36486

Description

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

题意为在二维数组中找一个点,使这个点能够找到一条高度依次下降的最长的路径。

计算方法:用二维数组h记录每个点的高度,一个二位数组m记录每个点的最优解,m初始化为0,开一个结构体数组存储每个点的坐标和高度。然后将结构体数组按照高度递增的模式排序,这么做可以在搜索时只朝一个方向即可,且不会出现超出边界的问题。接着扫描结构体中的信息,当指针每指向一个结构体个体时,我们均可以找到该点在height数组里的位置,如果存在任意一个点,在它周围的四个方向上而且高度比该点大且这个任意点的最长下降子序列小于或等于该店的长度。那么这个任意点的最长下降子序列的长度就+1

最后找出m中最大的元素即可。

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
struct dot
{
    int x,y;
    int h;
};
dot line[10005];///存入每个点
int h[105][105];///存储输入
int m[105][105];///dp数组,存储每个点的最优解
int maxs=-0x3f3f3f3f;
bool cmp(dot d1,dot d2)
{
    return d1.h<d2.h;
}
int main()
{
    int flag=0;
    int n,p;
    cin>>n>>p;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<p;j++)
        {
            cin>>h[i][j];
            line[flag].x=i;
            line[flag].y=j;
            line[flag].h=h[i][j];
            flag++;
        }
    }
    memset(m,0,sizeof(m));
    sort(line,line+p*n,cmp);

    for(int i=0;i<n*p;i++)
    {
        if(h[line[i].x][line[i].y]<h[line[i].x][line[i].y+1]&&m[line[i].x][line[i].y]>=m[line[i].x][line[i].y+1])
            m[line[i].x][line[i].y+1]=m[line[i].x][line[i].y]+1;
        if(h[line[i].x][line[i].y]<h[line[i].x][line[i].y-1]&&m[line[i].x][line[i].y]>=m[line[i].x][line[i].y-1])
            m[line[i].x][line[i].y-1]=m[line[i].x][line[i].y]+1;
        if(h[line[i].x][line[i].y]<h[line[i].x+1][line[i].y]&&m[line[i].x][line[i].y]>=m[line[i].x+1][line[i].y])
            m[line[i].x+1][line[i].y]=m[line[i].x][line[i].y]+1;
        if(h[line[i].x][line[i].y]<h[line[i].x-1][line[i].y]&&m[line[i].x][line[i].y]>=m[line[i].x-1][line[i].y])
            m[line[i].x-1][line[i].y]=m[line[i].x][line[i].y]+1;

    }
    for(int i=0;i<n;i++)
        {
            for(int j=0;j<p;j++)
            {
                if(m[i][j]>maxs)
                    maxs=m[i][j];
            }
        }
        cout<<maxs+1;
}




















基于 ESP32-CAM 与 TinyML 的食堂餐盘自动识别与营养分析终端 【代码】基于 ESP32-CAM 与 TinyML 的食堂餐盘自动识别与营养分析终端。 阅读详情

相关推荐

基于Zynq的便携式γ能谱仪设计与实现

数字多道分析器(DMCA)是核辐射能谱测量的核心设备,其本质是将探测器输出的模拟脉冲按幅度数字化分道,构建能量-计数分布曲线,从而支撑放射性核素识别与定量分析。其技术原理依赖高速采样、数字滤波成形、基线恢复与峰值提取等关键信号处理环节,具备高分辨率、优线性度与强抗干扰能力。在环境监测、核安全巡检与野外地质勘探等场景中,对低功耗、小型化、实时性提出严苛要求。本方案采用Xilinx Zynq-7020异构SoC架构,融合FPGA实时数字信号处理与ARM嵌入式控制,实现软硬协同优化,兼顾算法精度与工程落地性,为国

weixin_33173126的博客 190

POJ 1088 DP

题意 传送门 POJ1088 题解 dp[i][j]dp[i][j]dp[i][j] 代表 (i,j)(i,j)(i,j) 为终点的最长滑雪路径,(i′,j′)(i',j')(i′,j′) 代表路径上的前一滑雪地点 dp[i][j]=maxh[i][j]<h[i′][j′]{dp[i′][j′]}+1dp[i][j]=max_{h[i][j]<h[i'][j']}\{dp[i'][j']\}+1dp[i][j]=maxh[i][j]<h[i′][j′]​{dp[i′][j′]}+1 #in

neweryyy的博客 96

【STM32开源实战】基于STM32的智能输液监控系统设计与实现

本文详细介绍了基于STM32F103C8T6主控芯片的智能输液监控系统设计与实现。该系统通过光学液位传感器、温度传感器和红外滴速检测模块实时监测输液状态,利用步进电机自动调节滴速,并通过蓝牙实现数据远程传输,为医院提供了一套低成本、高可靠性的智能输液解决方案。

h6i7j8的博客 761

POJ 1088 滑雪(DFS+DP)

POJ1088 滑雪(DFS+简单DP记忆化搜索) http://poj.org/problem?id=1088 题意:给你一个R*C的数字矩阵,要你找出矩阵中一条递减的最长路径的长度.即从矩阵的一个点出发,只能走数字递减的上下左右4格中的一格,能走的最长距离(包括起点). 分析:        首先我们令len[r][c]表示从(r,c)点出发的最长路径长度.        可以知道如

code 1146

DeerFlow 在 Windows 上的安装与启动详细步骤

DeerFlow Windows安装与启动指南 DeerFlow是基于LangGraph的AI Agent系统,包含后端服务和前端界面。后端安装需Python 3.12+,创建虚拟环境后安装依赖,需注意解决langgraph版本冲突问题(推荐1.0.8版本)。配置文件中需设置模型参数(如本地Qwen3-32B-AWQ模型)和sandbox配置。启动分为两步:LangGraph Server(端口2024)和Backend Gateway(端口8001)。前端要求Node.js 22+和pnpm,配置.env

笨小孩 582

数字孪生在智慧医疗中的5个创新应用:从手术模拟到个性化治疗

数字孪生技术通过创建患者或医疗流程的动态虚拟映射,正在深刻变革智慧医疗。本文重点剖析了其在个性化治疗、手术模拟与导航、药物研发、医院管理优化及慢性病管理五大核心场景的创新应用,展现了如何利用智能映射与数据融合,为精准医疗和高效决策提供强大支持。

weixin_29189003的博客 443

POJ 1088 滑雪 && HDU 1078 FatMouse and Cheese (坐标DP两题对比)

POJ 1088 滑雪 HDU 1078 FatMouse and Cheese 两题题意大致相同,做法也相同,差别在于最后输出,到底是直接输出dp[1][1](我使用 1,1 点作为起点),还是在dp数组中选择最大值。我因为没考虑清这个问题,两题分别用了另一题的输出方式。。。。 首先在做滑雪的时候,因为测试样例能够遍历全图,所以我直接在最后输出了dp[1][1],然后提交一直WA,后来

JasonWu的博客 275

python自动交易 缠论_缠论自动交易系统实现了

一、缘起:缠中说禅的伟大,我想你只要上网搜索一下就知道了,他的才气不用我说,我只想说说他的《教你炒股票》系列文章,108篇文章,将他的股票操盘秘籍全部公开给广大的股友了,更有缠友将其理论写成公式,在网上也是广为流传,深受广大缠友们的喜爱。我也是缠中说禅的忠实崇拜者之一,从2008年开始每天都使用缠论来看盘,特别想将缠论写成交易系统,让计算加来帮助我们自动交易,从而减轻我们盯盘的辛劳,可是苦于没有好...

weixin_39970689的博客 4640

poj 1088 滑雪DP

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

一七得七 385

HPC软件使用之ANSYS Fluent

本文介绍了如何在超级计算机上使用ANSYS Fluent进行科学计算和工程仿真。文章首先对Fluent软件进行了简要介绍,强调了其在计算流体力学领域的广泛应用和强大功能。接着,详细说明了如何编写jou脚本文件和slurm脚本文件,以控制Fluent的计算流程和作业提交。文章还提供了作业提交和查看的具体命令,并通过一个鼓风机仿真的案例演示了从网格模型准备、脚本编写、作业提交到结果查看的完整流程。最后,展示了使用Fluent进行结果可视化的方法。

欢迎各位大佬光临“寒舍”!请多多指点,共同进步! 2212

2025年第十六届蓝桥杯省赛C/C++大学B组 个人题解

也是写了写部分题解,朱波也是狠狠水了个省二┭┮﹏┭┮,毕竟许多算法知识没怎么学。

2301_80173664的博客 2432

POJ1088(深搜+dp)

题意:给定一个n*m的地图,0到10000的数字,寻找到一条最长的路径,该路径严格递减,延伸方式只能上下左右。 思路:遍历每个点,然后进行深搜,因为路径可能会重复搜索,所以用dp来保存,当dp[x][y]>0时候,代表这个点不用延伸了,之前已经做过了,直接返回dp[x][y]就行了。 #include #include int a[105][105],dp[105][105]; int ma

洪博凡&Rascint 691

GEE APP:基于Sentinel-1 SAR数据的洪水检测与制图系统:利用GEE平台实现洪涝区域提取、面积统计及矢量栅格化导出

本文介绍了一个基于Google Earth Engine平台的Sentinel-1 SAR洪水监测应用,通过自动化流程实现洪水淹没区域的精准检测与分析。系统采用Refined Lee滤波降噪和Otsu自适应阈值算法,结合SRTM地形数据消除干扰,可自动计算淹没面积并生成可视化结果。该工具提供用户友好的交互界面,支持多格式数据导出,适用于灾害应急响应、环境监测和城市规划等领域,具有云平台处理、算法鲁棒性强和操作简便等技术优势。

此星光明博客 327

poj——1088(dp之递归加记忆化搜索)

题目地址:http://poj.org/problem?id=1088 小结:可以用递归+记忆化搜索 dp[i][j]:从i j 开始的最长的路径。 dp[i][j] = max {dp[i][j-1], dp[i][j+1], dp[i-1][j], dp[i+1][j], 0} + 1;即当前的路径只与它的上、下、左、右的路径有关。 #include #include

luoshenzhisi 753

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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

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

far away 367

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

poj 1088/nyoj 10 滑雪(记忆化搜索/DP)

题目链接:poj1088  nyist10 #include #include #define max(a,b) (a>b?a:b) int map[105][105]; int d[4][2] = {{1,0},{0,1},{-1,0},{0,-1}}; int dp[105][105]; int n,m; int dfs(int x,int y) { if(dp[x][y] > 1)

no pains,no gains 866

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

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

题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 求最大的下滑路径 分析:因为只能从高峰滑到低峰,无后效性,所以每个点都可以找到自己的最长下滑距离(只与自己高度有关)。记忆每个点的最长下滑距离,当有另一个点的下滑路径遇到这个...

dixianqi2609的博客 155

POJ 1088 滑雪 DP

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

智慧之神的博客 333

POJ 1088 滑雪【经典DP】

经典DP,dp[x][y]表示从(x,y)为起点的最长滑雪距离.

AC_Dreameng 1237

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

题目链接:http://poj.org/problem?id=1088 思路分析: 1>状态定义:状态dp[i][j]表示在位置map[i][j]可以滑雪的最长区域长度; 2>状态转移方程:由于由位置[i, j]只能向四个方向移动,所以子问题最多有四个;所以dp[i][j]为其邻域可以滑雪的最大区域长度加上从该位置滑到邻域的长度,即1; 代码如下: #incl...

weixin_30364147的博客 74

POJ 1088 滑雪 DP + dfs

题目来源:http://poj.org/problem?id=1088 题意:汉语题意,不说了 思路:这道题的动态方程是比较容易想的。就是说拿当前点的高度和该点四周的高度相比,若比周围点高度高,则比较长度。dp[i][j] = max(dp[i][j],dp[newx][newy]+1),这样即可。在比较的时候用到了深搜找路径。本来想到了用深搜,担心超时,一直不敢写。深搜时有一个地方要注意,就

1577

dp打开思路3:HDU1069 POJ3616 POJ1088

HDU 1069 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 题意:把给定的长方体(不限)叠加在一起,叠加的条件是,上面一个长方体的长和宽都比下面长方体的长 和宽短;求这些长方体能叠加的最高的高度.(其中(3,2,1)可以摆放成(3,1,2)、(2,1,3)等). 思路:其实就是求最长的单调递减序列。在长和宽的递减下,求最大能得出...

少说,多做。 5304

POJ1088 滑雪 简单DP

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

Lxp的博客 436

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 -- 滑雪】 结构体排序 + 最优策略选取(DP)

【POJ 1088 – 滑雪】 结构体排序 + 最优策略选取(dp) VJ题目传送门 题目描述 Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长底滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 5 16 ...

TTTiko's blog 309

【DP动归】【DFS】POJ-1088 滑雪

我的代码: #include #include #include #include using namespace std; struct node { int x; int y; int h; }; int R,C; node grid[10100]; int dp[120][120]; int realmap[120][120]; int dx[]={0

邂逅黛玛姑娘 933
上一篇: poj2262 简单素数判定
下一篇: poj 3176 动态规划
皮皮蟹01
博客等级 码龄10年 29粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值