题目链接: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;

  1. #include <stdio.h>
  2. #include <algorithm>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6.  
  7. #define MAX 105
  8.  
  9. int row,col;
  10. int maps[MAX][MAX];///图表
  11. int lm[MAX][MAX];///lm[i][j]表示maps[i][j]所能到达的最长长度
  12. int mov[][]={{-,},{,},{,-},{,}};
  13.  
  14. int DP(int i,int j)///求maps[i][j]所能到达的最长长度
  15. {
  16. if(lm[i][j]!=)
  17. return lm[i][j];
  18. else
  19. {
  20. int maxx=,s;
  21. for(int k=;k<;k++)
  22. {
  23. int tx=i+mov[k][];
  24. int ty=j+mov[k][];
  25. if(tx>=&&tx<row&&ty>=&&ty<col)
  26. {
  27. if(maps[i][j]>maps[tx][ty])
  28. {
  29. s=DP(tx,ty);
  30. if(s>maxx)
  31. maxx=s;
  32. }
  33. }
  34. }
  35. lm[i][j]=maxx+;
  36. return maxx+;
  37. }
  38. }
  39. int main()
  40. {
  41. int MAXLEN=;
  42. scanf("%d%d",&row,&col);
  43. for(int i=;i<row;i++)
  44. {
  45. for(int j=;j<col;j++)
  46. scanf("%d",&maps[i][j]);
  47. }
  48. memset(lm,,sizeof(lm));
  49. for(int i=;i<row;i++)
  50. {
  51. for(int j=;j<col;j++)
  52. {
  53. lm[i][j]=DP(i,j);
  54. if(MAXLEN<lm[i][j])
  55. MAXLEN=lm[i][j];
  56. }
  57. }
  58. printf("%d\n",MAXLEN);
  59. return ;
  60. }

动态规划(DP),模拟的更多相关文章

  1. 动态规划dp

    一.概念:动态规划dp:是一种分阶段求解决策问题的数学思想. 总结起来就一句话:大事化小,小事化了 二.例子 1.走台阶问题 F(10):10级台阶的走法数量 所以:F(10)=F(9)+F(8) F ...

  2. 算法-动态规划DP小记

    算法-动态规划DP小记 动态规划算法是一种比较灵活的算法,针对具体的问题要具体分析,其宗旨就是要找出要解决问题的状态,然后逆向转化为求解子问题,最终回到已知的初始态,然后再顺序累计各个子问题的解从而得 ...

  3. hdu5009 Paint Pearls (DP+模拟链表)

    http://acm.hdu.edu.cn/showproblem.php?pid=5009 2014网络赛 西安 比较难的题 Paint Pearls Time Limit: 4000/2000 M ...

  4. 【简单dp+模拟】hdu-5375(2015多校#7-1007)

    给你一个二进制数,,每一位有一个权值,让你转格雷码,求所对应格雷码位为1的权值的和:二进制位中的某些位为?,你需要给这些问号赋值使得到的和最大. 首先你得知道二进制转格雷码的规则,即格雷码位为[二进制 ...

  5. 【转】动态规划DP

    [数据结构与算法] DP 动态规划 介绍 原创 2017年02月13日 00:42:51 最近在看算法导论. DP全称是dynamic programming,这里programming不是编程,是一 ...

  6. 动态规划DP的优化

    写一写要讲什么免得忘记了.DP的优化. 大概围绕着"是什么","有什么用","怎么用"三个方面讲. 主要是<算法竞赛入门经典>里 ...

  7. 【BZOJ】1622: [Usaco2008 Open]Word Power 名字的能量(dp/-模拟)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1622 这题我搜的题解是dp,我也觉得是dp,但是好像比模拟慢啊!!!! 1400ms不科学! 设f[ ...

  8. hdu 1421:搬寝室(动态规划 DP + 排序)

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  9. hdu 2059:龟兔赛跑(动态规划 DP)

    龟兔赛跑 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissi ...

随机推荐

  1. Leetcode: UTF-8 Validation

    A character in UTF8 can be from 1 to 4 bytes long, subjected to the following rules: For 1-byte char ...

  2. 无序数组的中位数(set+deque)hdu5249

    KPI Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  3. nyist 518 取球游戏

    http://acm.nyist.net/JudgeOnline/problem.php?pid=518 取球游戏 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 今 ...

  4. 大数据Spark超经典视频链接全集

    论坛贴吧等信息发布参考模板 Scala.Spark史上最全面.最详细.最彻底的一整套视频全集(特别是机器学习.Spark Core解密.Spark性能优化.Spark面试宝典.Spark项目案例等). ...

  5. 如何彻底卸载MySQL

    如何彻底卸载MySQL 下面给出完整的卸载MySQL 5.1的卸载方法: 1.控制面板里的增加删除程序内进行删除 2.删除MySQL文件夹下的my.ini文件,如果备份好,可以直接将文件夹全部删除 3 ...

  6. 【cube】SSAS(分析服务)优化手册

    优化前注意事项 1.数据质量.数据仓库中维度表的数据质量要严格保证.比如店仓的大区.省区.管理城市等属性和店仓代码没有一对多的上下级关系,这样在设计店仓维度时,就无法建立有效的层次结构.这会拖慢查询时 ...

  7. Android Handler简单使用

    package com.example.myhandlertest3; import android.os.Bundle; import android.os.Handler; import andr ...

  8. paper 61:计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接

    转载出处:blog.csdn.net/carson2005 以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV ...

  9. paper 14 : 图像视觉领域部分开源代码

    做图像处理,没有一定的知识储备是不可能的,但是一定要学会“借力打力”,搜集一些很实用的开源代码,你们看看是否需要~~ 场景识别: SegNet: A Deep Convolutional Encode ...

  10. ThinkPHP讲解(七)——修改删除

    修改数据 方式一:数组方式,直接将数据库里需要修改的内容进行修改 function Update() { //1.数组方式 $model=D("Info"); $attr=arra ...