链接:

https://www.acwing.com/problem/content/description/277/

题意:

给定一个 N*M 的矩阵A,每个格子中有一个整数。

现在需要找到两条从左上角 (1,1) 到右下角 (N,M) 的路径,路径上的每一步只能向右或向下走。

路径经过的格子中的数会被取走,两条路径可以经过同一个格子,但格子中的数 只能被取一次。

求取得的数之和最大是多少。

思路:

三角形Dp的加强版,可以枚举走的步长,和两个点的x坐标,y坐标可以推出来.

然后四种情况转移一下.

代码:

#include <bits/stdc++.h>
using namespace std; int Map[60][60];
int Dp[200][60][60];
int n, m; int main()
{
scanf("%d%d", &n, &m);
for (int i = 1;i <= n;i++)
{
for (int j = 1;j <= m;j++)
scanf("%d", &Map[i][j]);
}
Dp[0][1][1] = Map[1][1];
for (int len = 1;len <= n+m-2;len++)
{
for (int x1 = 1;x1 <= n;x1++)
{
int y1 = len-x1+2;
if (y1 < 1 || y1 > m)
continue;
for (int x2 = 1;x2 <= n;x2++)
{
int y2 = len-x2+2;
if (y2 < 1 || y2 > m)
continue;
if (x1 == x2)
{
Dp[len][x1][x2] = max(Dp[len][x1][x1], Dp[len-1][x1][x2]+Map[x1][y1]);
Dp[len][x1][x2] = max(Dp[len][x1][x1], Dp[len-1][x1-1][x2]+Map[x1][y1]);
Dp[len][x1][x2] = max(Dp[len][x1][x1], Dp[len-1][x1][x2-1]+Map[x1][y1]);
Dp[len][x1][x2] = max(Dp[len][x1][x1], Dp[len-1][x1-1][x2-1]+Map[x1][y1]);
}
else
{
Dp[len][x1][x2] = max(Dp[len][x1][x2], Dp[len-1][x1][x2]+Map[x1][y1]+Map[x2][y2]);
Dp[len][x1][x2] = max(Dp[len][x1][x2], Dp[len-1][x1-1][x2]+Map[x1][y1]+Map[x2][y2]);
Dp[len][x1][x2] = max(Dp[len][x1][x2], Dp[len-1][x1][x2-1]+Map[x1][y1]+Map[x2][y2]);
Dp[len][x1][x2] = max(Dp[len][x1][x2], Dp[len-1][x1-1][x2-1]+Map[x1][y1]+Map[x2][y2]); }
}
}
}
printf("%d\n", Dp[n+m-2][n][n]); return 0;
}

Acwing-275-传纸条(DP)的更多相关文章

  1. AcWing 275. 传纸条

    #include<iostream> using namespace std ; ; *N][N][N]; int w[N][N]; int n,m; int main() { cin&g ...

  2. NOIP2008传纸条[DP]

    题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是 ...

  3. CodeVS1169 传纸条 [DP补完计划]

    题目传送门 题目描述 Description 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端, ...

  4. P1011 传纸条//dp优化改进状态表示

    P1011 传纸条 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 NOIP2008复赛提高组第三题 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不 ...

  5. P1006 传纸条 /// DP+滚动数组

    题目大意: https://www.luogu.org/problemnew/show/P1006 题解 不难想到 求从起点到终点的两条不同的路 因为只能向右或向下走 所以纸条1和2不可能同时位于同一 ...

  6. tyvj1011 - 传纸条 ——DP

    题目链接:https://www.tyvj.cn/Problem_Show.aspx?id=1011 状态转移方程: f[k,x1,x2] = max(f[k-1,x1,x2],f[k-1,x1-1, ...

  7. TYVJ 1011 NOIP 2008&&NOIP 2000 传纸条&&方格取数 Label:多线程dp

    做题记录:2016-08-15 15:47:07 背景 NOIP2008复赛提高组第三题 描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行 ...

  8. 传纸条(一)(双线程dp)

    传纸条(一) 时间限制:2000 ms  |  内存限制:65535 KB 难度:5   描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行 ...

  9. nyoj61 传纸条(一) dp

    思路:两人一个从左上角出发只能向右和向下,另一人从右下角出发只能向左和向上,可以看做两人都是从右下角出发,且只能向左和向上传纸条,并且两条路径不会相交,因为一个人只会传一次,那么随便画一个图就能知道两 ...

  10. P1006 传纸条 (方格取数dp)

    题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个mm行nn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运 ...

随机推荐

  1. Docker管理面板-URLOS(易用、高效、强大)

    一.介绍 URLOS是一个Docker管理面板,它把服务器端软件应用的安装行为简化到极致,堪称服务器端的应用宝,具有集群管理.自动故障转移.自动负载均衡等高级功能,可轻易搭建7*24小时在线的网站运行 ...

  2. 2019年icpc区域赛银川站总结

    目录 一.前言 二.10月19日热身赛 三.10月20日正式赛 四.结果 一.前言 比赛前我们队有ccpc厦门和icpc银川的名额,然而这两个地区的时间正好撞了,考虑到银川更容易拿奖,加上我们ACM协 ...

  3. 【Linux开发】linux设备驱动归纳总结(一):内核的相关基础概念

    linux设备驱动归纳总结(一):内核的相关基础概念 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...

  4. Web Service简介与开发实例

    简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 ...

  5. windows 装mac

    必备条件: 1.vmware虚拟机 2.给相应版本虚拟机打mac补丁 3.用securable检测CPU支持虚拟化设置 4.mac镜像文件 5.这时候还不能启动虚拟机,还需要在引导文件里面进行参数修改 ...

  6. ajax怎么打开新窗口具体如何实现

    var newwindow=window.open('about:blank'); jQuery.ajax({ type: 'POST', url: 'clickRate.action', dataT ...

  7. python基础面试题(全网最全!)

    目录 1.为什么学习Python? 2.通过什么途径学习的Python? 3.Python和Java.PHP.C.C#.C++等其他语言的对比? 4.简述解释型和编译型编程语言? 5.Python解释 ...

  8. js日期相关方法

    /** * ===================================== * 日期相关方法 * ===================================== */ ;(fu ...

  9. Collection接口的子接口——Set接口

    https://docs.oracle.com/javase/8/docs/api/java/util/Set.html public interface Set<E>  extends ...

  10. wex5打包详解

    1.模式选择 模式一:主要针对是简单的运用,进行智能更新,也就是说即使服务器更新了,客户端也不会立即更新,不适合产品类型的APP. 模式二:服务器资源更新了,客户端也会立即更新. 模式三:调试模式. ...