当前位置: 首页 > news >正文

动态规划(DP),模拟

题目链接:http://poj.org/problem?id=1088

Memory: 252KTime: 16MSLanguage: C++Result: Accepted

解题报告:

1、lm[i][j]表示maps[i][j]所能到达的最长长度

2、状态转移方程

    lm[i][j]=max(maps[i][j]四周的最大lm)+1;

 

#include <stdio.h>
#include <algorithm>
#include <string.h>

using namespace std;

#define MAX 105

int row,col;
int maps[MAX][MAX];///图表
int lm[MAX][MAX];///lm[i][j]表示maps[i][j]所能到达的最长长度
int mov[4][2]={{-1,0},{1,0},{0,-1},{0,1}};

int DP(int i,int j)///求maps[i][j]所能到达的最长长度
{
    if(lm[i][j]!=0)
        return lm[i][j];
    else
    {
        int maxx=0,s;
        for(int k=0;k<4;k++)
        {
            int tx=i+mov[k][0];
            int ty=j+mov[k][1];
            if(tx>=0&&tx<row&&ty>=0&&ty<col)
            {
                if(maps[i][j]>maps[tx][ty])
                {
                    s=DP(tx,ty);
                    if(s>maxx)
                        maxx=s;
                }
            }
        }
        lm[i][j]=maxx+1;
        return maxx+1;
    }
}
int main()
{
    int MAXLEN=0;
    scanf("%d%d",&row,&col);
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<col;j++)
            scanf("%d",&maps[i][j]);
    }
    memset(lm,0,sizeof(lm));
    for(int i=0;i<row;i++)
    {
        for(int j=0;j<col;j++)
        {
            lm[i][j]=DP(i,j);
            if(MAXLEN<lm[i][j])
                MAXLEN=lm[i][j];
        }
    }
    printf("%d\n",MAXLEN);
    return 0;
}

 

 

 

转载于:https://www.cnblogs.com/TreeDream/p/5212327.html

相关文章:

  • dns服务器在做nslookup测试的时候,出现dns timeout 2 seconds的错误解释
  • 性能调优之访问日志IO性能优化
  • 老李分享:如何搭建千万级别用户的应用系统 3
  • hibernate缓存机制及配置
  • 独立制作人
  • 一分钟了解阿里云产品:批量计算五大热点技术问题分析
  • 发表学术论文必须做的十件事(下)(转)
  • Oracle Help Center
  • WebService的初级学习
  • ZOJ1372 POJ 1287 Networking 网络设计 Kruskal算法
  • UVA 10689 Yet another Number Sequence
  • Web 服务器基准测试,nginx+php vs Apache+php
  • 如何使用一台PC搭建可以在线迁移的KVM学习环境
  • 【转】linux(Ubuntu)配置svn仓库,搭建svn服务器
  • JQuery判断数组中是否包含某个元素$.inArray(元素字符串, 数组名称);
  • hexo+github搭建个人博客
  • 【RocksDB】TransactionDB源码分析
  • 【知识碎片】第三方登录弹窗效果
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • canvas 五子棋游戏
  • cookie和session
  • Cumulo 的 ClojureScript 模块已经成型
  •  D - 粉碎叛乱F - 其他起义
  • JavaScript 基本功--面试宝典
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Javascript编码规范
  • Java应用性能调优
  • js数组之filter
  • PAT A1017 优先队列
  • pdf文件如何在线转换为jpg图片
  • 当SetTimeout遇到了字符串
  • 第十八天-企业应用架构模式-基本模式
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 简单基于spring的redis配置(单机和集群模式)
  • 前端工程化(Gulp、Webpack)-webpack
  • 设计模式走一遍---观察者模式
  • 我与Jetbrains的这些年
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • zabbix3.2监控linux磁盘IO
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​Java并发新构件之Exchanger
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #100天计划# 2013年9月29日
  • #HarmonyOS:基础语法
  • #Java第九次作业--输入输出流和文件操作
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)人的集合论——移山之道
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Core IdentityServer4实战-开篇介绍与规划