博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-2571-命运(DP)
阅读量:6693 次
发布时间:2019-06-25

本文共 1940 字,大约阅读时间需要 6 分钟。

Problem Description

穿过幽谷意味着离大魔王lemon已经无限接近了!
可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关。要知道,不论何人,若在迷宫中被困1小时以上,则必死无疑!
可怜的yifenfei为了去救MM,义无返顾地跳进了迷宫。让我们一起帮帮执着的他吧!
命运大迷宫可以看成是一个两维的方格阵列,如下图所示:

 

 
yifenfei一开始在左上角,目的当然是到达右下角的大魔王所在地。迷宫的每一个格子都受到幸运女神眷恋或者痛苦魔王的诅咒,所以每个格子都对应一个值,走到那里便自动得到了对应的值。
现在规定yifenfei只能向右或者向下走,向下一次只能走一格。但是如果向右走,则每次可以走一格或者走到该行的列数是当前所在列数倍数的格子,即:如果当前格子是(x,y),下一步可以是(x+1,y),(x,y+1)或者(x,y*k) 其中k>1。 
为了能够最大把握的消灭魔王lemon,yifenfei希望能够在这个命运大迷宫中得到最大的幸运值。

 

Input

输入数据首先是一个整数C,表示测试数据的组数。
每组测试数据的第一行是两个整数n,m,分别表示行数和列数(1<=n<=20,10<=m<=1000);
接着是n行数据,每行包含m个整数,表示n行m列的格子对应的幸运值K ( |k|<100 )。
 

Output

请对应每组测试数据输出一个整数,表示yifenfei可以得到的最大幸运值。
 

Sample Input

1

3 8

9 10 10 10 10 -10 10 10

10 -11 -1 0 2 11 10 -20

-11-11 10 11 2 10 -10 -10

Sample Output

52


思路:动态规划。

坑点:

1.map从(1,1)开始读数据,而不应该从(0,0)读。因为dp[][]需要一行一列边缘。

2.dp[][](边缘)初始化成最小。dp[1][0],dp[0][1]初始化成0。


 

1 #include
2 #include
3 #include
4 #define Inf 0x3f3f3f3f 5 using namespace std; 6 int map[25][1005]; 7 int dp[25][1005]; 8 int n,m; 9 int main(){10 int c;11 scanf("%d",&c);12 while(c--){13 scanf("%d%d",&n,&m);14 for(int i=1;i<=n;i++){
//dp0行0列要空出来 15 for(int j=1;j<=m;j++){16 scanf("%d",&map[i][j]);17 }18 }19 20 memset(dp,-Inf,sizeof(dp)); //这里只初始化边缘也行 21 dp[0][1]=dp[1][0]=0;//初始位置的前端初始值 22 23 for(int i=1;i<=n;i++){24 for(int j=1;j<=m;j++){25 dp[i][j]=max(dp[i-1][j],dp[i][j-1]);//上两家最大的 26 27 for(int k=2;k<=j;k++) //倍数跳跃时 28 if(j%k==0)29 dp[i][j]=max(dp[i][j],dp[i][j/k]); 30 dp[i][j]+=map[i][j]; 31 } 32 } 33 printf("%d\n",dp[n][m]); 34 }35 return 0;36 }

 

转载于:https://www.cnblogs.com/yzhhh/p/10054198.html

你可能感兴趣的文章
action中redirectAction到另一个命名空间中的action该如何配置
查看>>
label标签利用jquery获取值得方式为$("#message").html()
查看>>
javascript创建Ajax对象
查看>>
php文件缓存
查看>>
思考方式--教会你如何去思考!
查看>>
mysql库的操作
查看>>
c++的getline()和get()函数
查看>>
面向对象第一单元总结
查看>>
模拟购物车
查看>>
web典型理论题整理HTML+CSS部分
查看>>
前端基础之jQuery入门 01
查看>>
Xshell 5 免费版本安装过程
查看>>
关于ready和load方法作用于不同情况下的比较
查看>>
Asp.Net Core 项目实战之权限管理系统(8) 功能菜单的动态加载
查看>>
使用CSS让元素尺寸缩小时保持宽高比例一致
查看>>
HDU-2955-Robberies
查看>>
如何使Linux系统上的程序开机后自动运行 (转)
查看>>
Silverlight中 Content="{TemplateBinding Content}" bug
查看>>
Jsoup后台解析html、jsp网页
查看>>
中间件详解,Django复习
查看>>