1. /*记忆化dfs+dp,因为每次最多走k步,所以上下左右的方向有所扩展,
  2. dp[i][j]存的是从dp[i][j]出发能吃的最大个数*/
  3. #include<stdio.h>
  4. #include<string.h>
  5. #include<algorithm>
  6. using namespace std;
  7. const int maxn=;
  8. int map[maxn][maxn],vis[maxn][maxn];
  9. int dp[maxn][maxn];//dp[i][j]表示从i,j出的最大蛋糕数目
  10. int n,m,k;
  11. void init()
  12. {
  13. memset(dp,,sizeof(dp));
  14. memset(vis,,sizeof(vis));
  15. }
  16. int dfs(int x,int y)
  17. {
  18. if(dp[x][y]) return dp[x][y];
  19. int i,j;
  20. dp[x][y]=map[x][y];
  21. for(i=;i<=k;i++)
  22. {
  23. if(x-i>= && map[x-i][y]>map[x][y])
  24. {
  25. dp[x][y]=max(dp[x][y],dfs(x-i,y)+map[x][y]);
  26. }
  27. if(x+i<=n && map[x+i][y]>map[x][y])
  28. {
  29. dp[x][y]=max(dp[x][y],dfs(x+i,y)+map[x][y]);
  30. }
  31. if(y-i>= && map[x][y-i]>map[x][y])
  32. {
  33. dp[x][y]=max(dp[x][y],dfs(x,y-i)+map[x][y]);
  34. }
  35. if(y+i<=n && map[x][y+i]>map[x][y])
  36. {
  37. dp[x][y]=max(dp[x][y],dfs(x,y+i)+map[x][y]);
  38. }
  39. }
  40. return dp[x][y];
  41. }
  42. int main()
  43. {
  44. int i,j;
  45. while(scanf("%d%d",&n,&k)!=EOF)
  46. {
  47. if(n==- && k==-) break;
  48. for(i=;i<=n;i++)
  49. for(j=;j<=n;j++)
  50. scanf("%d",&map[i][j]);
  51. init();
  52. printf("%d\n",dfs(,));
  53. }
  54. return ;
  55. }

HDU1087的更多相关文章

  1. hdu1087 dp

    题意:给定一串数字,要求选取一个严格递增的子序列,使序列和最大. dp[i] 表示以 i 为结尾的子序列的最大和,dp[i] = max{dp[j]+a[i]}(j 从 0 到 i-1),dp[0]是 ...

  2. hdu1087 最大递增子段和

    http://acm.split.hdu.edu.cn/showproblem.php?pid=1087 状态方程:sum[j]=max{sum[i]}+a[j]; 其中,0<=i<=j, ...

  3. 暑假集训(5)第一弹——— Super Jumping! Jumping! Jumping!(hdu1087)

    题意概括:在上次与娑殚的三次博弈中,你们都取得了胜利.便向娑殚提出要求,借助他的力量,传送到一个安全的地方. 你们的愿望达成了,不过,你和小A似乎失散了. 街上人来人往的特别热闹,每一个人的脸上都洋溢 ...

  4. hdu1087 简单DP

    I - 简单dp 例题扩展 Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:32768KB     ...

  5. 解题报告 HDU1087 Super Jumping! Jumping! Jumping!

    Super Jumping! Jumping! Jumping! Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 ...

  6. HDU1087:Super Jumping! Jumping! Jumping!(DP)

    Problem Description Nowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very ...

  7. 最长递增子序列hdu1087

    #include<map> #include<set> #include<list> #include<cmath> #include<queue ...

  8. hdu1087 Super Jumping! Jumping! Jumping!---基础DP---递增子序列最大和

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1087 题目大意: 求递增子序列最大和 思路: 直接dp就可以求解,dp[i]表示以第i位结尾的递增子 ...

  9. HDU-1087.SuperJUmpingJUmpingJumping.(DP and LISPP)

    本题大意:给定一个长度为n的序列a,让你输出这个序列子序列中元素和最大的最大上升子序列. 本题思路:一开始肯定可以想到用LIS实现,我们用LIS实现的时候可以发现这个问题并不满足LIS问题的最优子结构 ...

  10. hdu1087 dp(最大上升子序列和)

    题意,给出一列数,要求所有上升子序列中序列和最大的. 这回不是求长度了,但是还是相当基础的 dp 水题,只要用 dp [ q ] 记录以 第 q 个数 a [ q ] 为结尾的上升子序列的最大的和就可 ...

随机推荐

  1. 《C++ Primer Plus》第10章 对象和类 学习笔记

    面向对象编程强调的是程序如何表示数据.使用 OOP 方法解决编程问题的第一步是根据它与程序之间的接口来描述数据,从而指定如何使用数据.然后,设计一个类来实现该接口.一般来说,私有数据成员存储信息,公有 ...

  2. sql查询数据库中所有表名

    查询数据库里所有表名和字段名的语句SQL 查询所有表名:SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'SELECT * FROM INFORMATION_SCHE ...

  3. Delphi 单元

    单元(unit)是组成Pascal程序的单独的源代码模块,单元有函数和过程组成,这些函数和过程能被主程序调用.一个单元至少要有unit语句,interface,和implementation三部分,也 ...

  4. 【BZOJ2595】[Wc2008]游览计划 斯坦纳树

    [BZOJ2595][Wc2008]游览计划 Description Input 第一行有两个整数,N和 M,描述方块的数目. 接下来 N行, 每行有 M 个非负整数, 如果该整数为 0, 则该方块为 ...

  5. 【BZOJ3012】[Usaco2012 Dec]First! Trie树+拓补排序

    [BZOJ3012][Usaco2012 Dec]First! Description Bessie has been playing with strings again. She found th ...

  6. Python - 3.6 学习四

    错误.调试和测试 程序运行中,可能会遇到BUG.用户输入异常数据以及其它环境的异常,这些都需要程序猿进行处理.Python提供了一套内置的异常处理机制,供程序猿使用,同时PDB提供了调试代码的功能,除 ...

  7. Thinkphp自定义工具类的使用!

    在使用Thinkphp做开发的时候,很多时候会用到一些自己写的类,为了方便管理,可以把这些类,单独放到一个文件里. 这就是自定义工具类: 首先在 Application 目录下新建 Component ...

  8. Floyd求最小环并求不同最小环的个数

    FZU2090 旅行社的烦恼 Time Limit: 2000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u [Subm ...

  9. 在线预览文档(支持word、excel、ppt、pdf)+在线预览文档html版(转)

    1.首先上网搜索一下有什么解决方案 (1).将文档转换为html,只支持支持office文档 (2).将文档转换为flash,实现类似百度文库的效果,除支持office文档外还支持pdf (1) a. ...

  10. scrapy爬虫系列之六--模拟登录

    功能点:如何发送携带cookie访问登录后的页面,如何发送post请求登录 爬取网站:bilibili.github 完整代码:https://files.cnblogs.com/files/book ...