题目链接:https://www.luogu.org/problemnew/show/P1004

标准的DP,不明白为什么有普及+提高的难度

四维DP[i][j][k][l] 表示第一遍走到i,j格子,第二遍走到k,l格子

状态转移方程:max(dp[i-1][j][k-1][l],dp[i-1][j][k][l-1],dp[i][j-1][k-1][l],dp[i][j-1][k][l-1]

每走一步要加上当前格子的数g[i][j]+g[k][l]

注意如果 当i==k&&j==l的时候也就是说两个格子是一起的话只能取一个数,所以特判一下再减去一个格子的数就OK

 #include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n, dp[][][][], g[][];
int main()
{
int x, y, z;
scanf("%d",&n);
while()
{
scanf("%d%d%d", &x, &y, &z);
if(x == && y == && z == )
break;
g[x][y] = z;
}
for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++)
for(int k = ; k <= n; k++)
for(int l = ; l <= n; l++)
{
dp[i][j][k][l]=max(max(dp[i-][j][k-][l],dp[i-][j][k][l-]),max(dp[i][j-][k-][l],dp[i][j-][k][l-]))+g[i][j]+g[k][l];
if(i==k&&l==j) dp[i][j][k][l]-=g[i][j];
}
printf("%d",dp[n][n][n][n]);
}

最新文章

  1. JavaScript Module Pattern: In-Depth
  2. [.NET领域驱动设计实战系列]专题四:前期准备之工作单元模式(Unit Of Work)
  3. hdu 2031 杨辉三角
  4. WPF+WEB+WinForm-&gt;&gt;表现层共用类
  5. jQuery MD5加密实现代码
  6. Azure开发者任务之四:在Azure SDK 1.3中挂载调试器的错误
  7. Python中整数和浮点数
  8. Servlet容器如何同时来处理多个请求
  9. Informatica9.6.1在Linux Red Hat 5.8上安装遇到的有关问题整理_4
  10. 2017腾讯实习生Android客户端开发面试总结
  11. (转)js jquery.qrcode生成二维码 带logo 支持中文
  12. UML图学习之三 状态图
  13. Docker-01 无人值守升级 CentOS 6.x 系统内核到 3.10.x 长期支持版
  14. 对象转Json时,Date类型格式化问题
  15. SQL Server 数据库基础笔记分享(上)
  16. Scala的配置
  17. swift能干什么,不能干什么及相关概念
  18. linux上安装wps办公软件
  19. numpy二分查找
  20. 【Spring】SpringMVC之异常处理

热门文章

  1. pat02-线性结构4. Pop Sequence (25)
  2. pat1015. Reversible Primes (20)
  3. gcc链接非标准(non-standard)命名库
  4. C# 深入理解String
  5. Visual Studio中C++项目编译常见问题总结
  6. VB.Net遍历已安装的程序卸载信息
  7. Android4.4源码学习笔记
  8. SSO单点登录三种情况的实现方式详解(转)
  9. 安装redis服务端
  10. 菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式