传送门

真是刷越多题,越容易满足。算是一道很简单的DP了。终于可以自己写出来了。

二维矩阵每个点都有一个幸运值,要求从左上走到右下最多能积累多少幸运值。

重点就是左上右下必须都踩到。

dp[i][j] = map[i][j] + max(dp[i-1][j], dp[i][j-1], dp[i][k]) k是j的约数

很简单明了 就是一个细节 当map[1][1]是负数的时候 按这个关系式 dp[1][2]是不会选择从(1,1)出发的

那么就可以把map[1][1]的值加到map[n][m]上 把map[1][1]设为0 这样推就没有问题了

我只用了一个dp数组 能懒则懒(

代码如下

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std; const int maxn = ;
int dp[maxn][maxn * ]; int main() {
int T;
scanf("%d", &T);
while (T--) {
int n, m;
scanf("%d%d", &n, &m);
memset(dp, , sizeof(dp));
for (int i = ; i <= n; i++) {
for (int j = ; j <= m; j++) {
scanf("%d", &dp[i][j]);
}
}
dp[n][m] += dp[][];
dp[][] = ;
for (int i = ; i <= n; i++) {
for (int j = ; j <= m; j++) {
int temp = ;
for (int k = j; k >= ; k--) {
if (j % k == ) temp = max(temp, dp[i][j/k]);
}
dp[i][j] += max(dp[i][j-], max(dp[i-][j], temp));
}
}
printf("%d\n", dp[n][m]);
// for (int i = 1; i <= n; i++) {
// for (int j = 1; j <= m; j++) {
// printf("%d ", dp[i][j]);
// }
// puts("");
// }
}
return ;
}

HDU 2571 命运(简单dp)的更多相关文章

  1. hdu 2571 命运(dp)

    Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个 ...

  2. HDU 2571 命运 (入门dp)

    题目链接 题意:二维矩阵,左上角为起点,右下角为终点,如果当前格子是(x,y),下一步可以是(x+1,y),(x,y+1)或者(x,y*k) ,其中k>1.问最大路径和. 题解:入门dp,注意负 ...

  3. HDU 2571 命运 (DP)

    命运 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pr ...

  4. hdu2571 命运 简单DP

    简单dp 状态方程很好想,主要是初始化.... 代码: #include<iostream> #include<cstdlib> #include<cstdio> ...

  5. HDU 2571 命运 (简单DP)

    命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  6. HDU - 2571 命运 DP倍数跳跃处理

    命运 穿过幽谷意味着离大魔王lemon已经无限接近了! 可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关.要知道,不论何人,若在迷宫中 ...

  7. hdu 2571 命运(水DP)

    题意: M*N的grid,每个格上有一个整数. 小明从左上角(1,1)打算走到右下角(M,N). 每次可以向下走一格,或向右走一格,或向右走到当前所在列的倍数的列的位置上.即:若当前位置是(i,j), ...

  8. HDU 2571 命运 动态规划

    命运 http://acm.hdu.edu.cn/showproblem.php?pid=2571 Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到, ...

  9. HDU 2571 命运

    命运 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

随机推荐

  1. Js与jQuery的相互转换

    $()与jQuery() jQuery中$函数,根据传入参数的不同,进行不同的调用,实现不同的功能.返回的是jQuery对象 jQuery这个js库,除了$之外,还提供了另外一个函数:jQuery j ...

  2. js中函数表达式和自执行函数表达式的用法总结

    立即调用函数表达式 给函数体加大括号,在有变量声明的情形下,没有任何区别 但是,如果只是[自动执行]的情形下,就会不同 因为,一个匿名函数,不赋值或函数体不加小括号,是不能自动执行的 //以下情形并无 ...

  3. vue 中promise 异步请求数据

    export function getTypes(type) { return listDictItems({ code: type }).then((res) => { if (res.cod ...

  4. idea使用事项

    1.调用外部jar包 Run/Debug Configurations --- Tomcat Server --- Startup/connection --- Debug 添加“path”变量:** ...

  5. Get-CrmSetting返回Unable to connect to the remote server的解决办法

    摘要: 微软动态CRM专家罗勇 ,回复302或者20190125可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 在Dynam ...

  6. 功能强大的PDF实用工具

    PDF实用工具(PDFTool)是北京博信施科技有限有限公司研制开发的一款专门提供对PDF文件进行编辑.加工的处理软件.本软件具有对PDF文件进行分割.结合.加密.解密.添加水印.设定有效期限等多种功 ...

  7. Linux chmod命令用法

    chmod----改变一个或多个文件的存取模式(mode) Linux/Unix 的文件调用权限分为三级 : 文件拥有者.群组.其他.利用 chmod 可以藉以控制文件如何被他人所调用. 使用权限 : ...

  8. iOS----------随机色

    #define KColorRandomColor [UIColor colorWithRed:arc4random()%255/255.0 green:arc4random()%255/255.0 ...

  9. 当view为wrap_conten时获取一个view的具体宽高

    int w = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED); int h = View.MeasureSpec. ...

  10. 五、RemoteViews

    RemoteViews表示的是一个View结构,它可以在其他进程中显示.RemoteViews在Android中的使用场景有两种:通知栏和桌面小部件. 1.RemoteViews的应用 RemoteV ...