题意:

M*N的grid,每个格上有一个整数。

小明从左上角(1,1)打算走到右下角(M,N)。

每次可以向下走一格,或向右走一格,或向右走到当前所在列的倍数的列的位置上。即:若当前位置是(i,j),可以走到(i,k*j)

问取走的最大和是多少。

思路:

水DP。。。边界的初始化要考虑。(因为有负数)。

代码:

int n,m;
int a[30][1005];
int dp[30][1005]; int main(){ int T;
cin>>T;
while(T--){
cin>>n>>m;
rep(i,1,n) rep(j,1,m) scanf("%d",&a[i][j]); mem(dp,0);
int ans = 0; dp[1][1] = a[1][1];
rep(i,2,m){
dp[1][i]=dp[1][i-1]+a[1][i];
rep(j,1,i-1) if(i%j==0) dp[1][i] = max( dp[1][i],dp[1][j]+a[1][i] );
}
rep(i,2,n){
dp[i][1] = dp[i-1][1]+a[i][1];
rep(j,1,i-1) if(i%j==0) dp[i][1] = max( dp[i][1],dp[j][1]+a[i][1] );
} rep(i,2,n) rep(j,2,m){
dp[i][j]=max( dp[i-1][j]+a[i][j],dp[i][j-1]+a[i][j] );
rep(k,1,j-1) if(j%k==0) dp[i][j]=max( dp[i][j],dp[i][k]+a[i][j] );
} printf("%d\n",dp[n][m]); } return 0;
}

最新文章

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(58)-DAL层重构
  2. Sublime 3 如何设置xftp 保存自动上传
  3. ln 命令使用
  4. 调用KEditor批量上传图片
  5. Linux之grep命令详解
  6. location(未完)
  7. [Reprint]C++函数前和函数后加const修饰符区别
  8. RESTful服务的版本管理经验 (转)
  9. Redis本地环境搭建
  10. web.py网页模板中使用jquery
  11. PHP第一章学习——了解PHP(上)
  12. Qt递归拷贝和删除目录
  13. java Double保留小数点位数
  14. 如何在SecureCRT中给linux上传和下载文件 安装redis
  15. 【js-xlsx和file-saver插件】前端导出数据到excel
  16. new 和 newInstance 的区别
  17. Linux监控平台、安装zabbix、修改zabbix的admin密码
  18. char,String,int类型互转
  19. SPL之AccessArray
  20. Pamulinawen--IPA--菲律宾伊洛卡诺语

热门文章

  1. 自制计算器 v1.1
  2. Shell系列(28)- 条件判断之字符串判断
  3. 超详细的VMware安装Centos7教程
  4. python学习笔记(八)-模块
  5. 定要过python二级 第10套
  6. PolarDB PostgreSQL 快速入门
  7. position的五个不同的位置值
  8. Python3模块调用你真的会吗?不懂就来看一看?
  9. oracle 查看表结构语句
  10. 【MySQL数据库】MySQL5.7安装与配置、可视化工具安装和破解