博客
关于我
51nod 1084 矩阵取数问题 V2
阅读量:631 次
发布时间:2019-03-14

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

51nod 1084 矩阵取数问题 V2

递归式:

if x1 != x2 | dp[step + 1][x1][x2] = max{dp[step][x1’][x2’]} + a[x1][y1] + a[x2][y2]
if x1 == x2 | dp[step + 1][x1][x2] = max{dp[step][x1’][x2’]} + a[x1][y1]。
使用step减少空间使用
如图:
这里写图片描述
初始值:
dp[0][x][y] = 0;

#include 
#include
#include
#include
#include
#include
#include
using namespace std;#define LL long long#define INF 0x3f3f3f3f#define PI acos(-1.0)#define E 2.71828#define MOD 1000000007#define N 210#define M 5010int n,m;int p[N][N];int dp[N*2][N][N];int main(){ scanf("%d%d",&m,&n); for(int i = 1; i <= n; i++) for(int j = 1; j <= m; j++) scanf("%d",&p[i][j]); memset(dp,0,sizeof(dp)); for(int k = 1; k < n+m; k++) { for(int i = 1; i<=n && i<=k; i++) { for(int j = 1; j<=n && j<=k; j++) { dp[k][i][j]=max(dp[k][i][j],dp[k-1][i-1][j-1]+p[i][k-i+1]+(i==j?0:p[j][k-j+1])); dp[k][i][j]=max(dp[k][i][j],dp[k-1][i-1][j]+p[i][k-i+1]+(i==j?0:p[j][k-j+1])); dp[k][i][j]=max(dp[k][i][j],dp[k-1][i][j-1]+p[i][k-i+1]+(i==j?0:p[j][k-j+1])); dp[k][i][j]=max(dp[k][i][j],dp[k-1][i][j]+p[i][k-i+1]+(i==j?0:p[j][k-j+1])); //printf("dp[%d][%d][%d] = %d\n",k,i,j,dp[k][i][j]); } } } printf("%d\n",dp[n+m-1][n][n]); return 0;}
你可能感兴趣的文章
mysql加强(6)~子查询简单介绍、子查询分类
查看>>
mysql加强(7)~事务、事务并发、解决事务并发的方法
查看>>
MySQL千万级多表关联SQL语句调优
查看>>
mysql千万级大数据SQL查询优化
查看>>
MySQL千万级大表优化策略
查看>>
MySQL单实例或多实例启动脚本
查看>>
MySQL压缩包方式安装,傻瓜式教学
查看>>
MySQL原理、设计与应用全面解析
查看>>
MySQL原理简介—1.SQL的执行流程
查看>>
MySQL参数调优详解
查看>>
mysql参考触发条件_MySQL 5.0-触发器(参考)_mysql
查看>>
MySQL及navicat for mysql中文乱码
查看>>
MySqL双机热备份(二)--MysqL主-主复制实现
查看>>
MySQL各个版本区别及问题总结
查看>>
MySql各种查询
查看>>
mysql同主机下 复制一个数据库所有文件到另一个数据库
查看>>
mysql启动以后会自动关闭_驾照虽然是C1,一直是开自动挡的车,会不会以后就不会开手动了?...
查看>>
mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
查看>>
Mysql启动失败解决过程
查看>>
MySQL启动失败:Can't start server: Bind on TCP/IP port
查看>>