链接

https://www.luogu.org/problemnew/show/P1006


日常牢骚

过年前最后一节课上完了坐标DP 也接触了一点区间DP(noi1995石子合并)下次做做看看吧

老师布置了好多道DP这让我这个刚刚学的蒟蒻可咋办呀



想die的心


正题

不扯淡了赶紧扯回来

首先看到这题我想到了另外一题很相似的叫啥我忘了......

反正也是双向DP(姑且这么叫吧)

看到题解里有dalao们弄成三维的 二维的 甚至是一维的

我只想说



对大佬%%%%%%%%

本蒟蒻的做法十分质朴淡雅清新脱俗

因为题目的数据挺小只有50

所以自然而然用到了四维......


思路

  1. 既然是从头尾各走一遍且不重复 那么我们可以看成从头走两遍不重复的求最大的好感度
  2. 于是我们设(x1,y1)为第一次的坐标 (x2,y2)为第二次的坐标 得出f[x1][y1][x2][y2]为好感度总和
  3. 那么只有四种方法可以到每一个格子 (一上,二上)(一上,二左)(一左,二上)(一左,二左)
  4. 最后从后面遍历到头就出答案 答案在f[2][1][1][2]中(因为不重复所以只可能一个在下面一个在左边)

代码

#include<iostream>
using namespace std;
int f[51][51][51][51],a[51][51];
int n,m;
int main()
{
cin>>m>>n;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
cin>>a[i][j];
for(int x1=m;x1>=1;x1--)//从后面开始遍历回去
for(int y1=n;y1>=1;y1--)
for(int x2=m;x2>=1;x2--)
for(int y2=n;y2>=1;y2--)
{
if((x1>1&&x2>1)&&((x1-1!=x2-1)||(y1!=y2)))
f[x1-1][y1][x2-1][y2]=max(f[x1][y1][x2][y2]+a[x1-1][y1]+a[x2-1][y2],f[x1-1][y1][x2-1][y2]);
if((x1>1&&y2>1)&&((x1-1!=x2)||(y1!=y2-1)))
f[x1-1][y1][x2][y2-1]=max(f[x1][y1][x2][y2]+a[x1-1][y1]+a[x2][y2-1],f[x1-1][y1][x2][y2-1]);
if((y1>1&&x2>1)&&((x1!=x2-1)||(y1-1!=y2)))
f[x1][y1-1][x2-1][y2]=max(f[x1][y1][x2][y2]+a[x1][y1-1]+a[x2-1][y2],f[x1][y1-1][x2-1][y2]);
if((y1>1&&y2>1)&&((x1!=x2)||(y1-1!=y2-1)))
f[x1][y1-1][x2][y2-1]=max(f[x1][y1][x2][y2]+a[x1][y1-1]+a[x2][y2-1],f[x1][y1-1][x2][y2-1]);
}
cout<<f[2][1][1][2];//答案
}

【题解】洛谷P1006传纸条的更多相关文章

  1. 洛谷 P1006 传纸条 题解

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

  2. 棋盘DP三连——洛谷 P1004 方格取数 &&洛谷 P1006 传纸条 &&Codevs 2853 方格游戏

    P1004 方格取数 题目描述 设有N $\times N$N×N的方格图(N $\le 9$)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00.如下图所示(见样例): A ...

  3. 洛谷 P1006 传纸条 多维DP

    传纸条详解: 蒟蒻最近接到了练习DP的通知,于是跑来试炼场看看:发现有点难(毕竟是蒟蒻吗)便去翻了翻题解,可怎么都看不懂.为什么呢?蒟蒻发现题解里都非常详细的讲了转移方程,讲了降维优化,但这题新颖之处 ...

  4. 洛谷p1006 传纸条 三维解法

    原题目如下 原地址https://www.luogu.com.cn/problem/P1006 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做 ...

  5. [NOIP2008] 提高组 洛谷P1006 传纸条

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

  6. 【动态规划】洛谷P1006传纸条

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

  7. Codevs 1169 == 洛谷 P1006 传纸条

    ---恢复内容开始--- 1169 传纸条 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 小渊和小轩是好朋友也是同班同学,他 ...

  8. 洛谷 P1006 传纸条

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

  9. 洛谷P1006 传纸条 (棋盘dp)

    好气,在洛谷上交就过了,在caioj上交就只有40分 之前在51nod做过这道题了. https://blog.csdn.net/qq_34416123/article/details/8180902 ...

  10. 洛谷P1006 传纸条(多维DP)

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

随机推荐

  1. GoLang爬取花瓣网美女图片

    由于之前一直想爬取花瓣网(http://huaban.com/partner/uc/aimeinv/pins/) 的图片,又迫于没时间,所以拖了很久. 鉴于最近在学go语言,就刚好用这个练手了. 预览 ...

  2. Jquery系列:textarea常用操作

    1.textarea内容的读取与设置 读textarea文本值可以用name和id.而写入文本值只能用id. <textarea name="content" id=&quo ...

  3. Spring课程 Spring入门篇 4-7 Spring bean装配之基于java的容器注解说明--@Scope 控制bean的单例和多例

    1 解析 1.1 bean的单例和多例的应用场景 1.2 单例多例的验证方式 1.3 @Scope注解单例多例应用 2 代码演练 2.1 @Scope代码应用 1 解析 1.1 bean的单例和多例的 ...

  4. java消息中间件 RocketMQ Linux安装与运行

    阿里巴巴宣布捐赠RocketMQ到Apache软件基金会孵化项目,最近闲下来便去部署了一个试验版本玩玩. 至于RockeMQ是什么,原理架构什么的这里就不赘述了,这里只记录安装过程. 一.系统环境 s ...

  5. MySQL 修改数据表中的字段的字符编码

    1.查询 MySQL 的版本: SELECT VERSION(); 2.查询 MySQL 当前使用的字符集: SHOW VARIABLES LIKE '%character%'; 3.查询指定数据库的 ...

  6. H5手机页面剖析

    <!--强制使用webkit内核进行渲染--><meta http-equiv="X-UA-COMPATIBLE" content="IE=edge, ...

  7. 细说CSV

            CSV全称是Comma-Separated Values(逗号分隔值).作为一种数据传输与存储的格式,它显然没有xml,json强大,只能进行一些二维数组的数据处理,但它在项目还是经常 ...

  8. 【起航计划 034】2015 起航计划 Android APIDemo的魔鬼步伐 33 App->Service->Local Service Binding 绑定服务 ServiceConnection Binder

    本例和下列Local Service Controller 的Activity代码都定义在LocalServiceActivities.Java 中,作为LocalServiceActivities ...

  9. jQuery判断checkbox是否选中?操作checkbox(不)选中?

    HTML      <form action="">          <input type="checkbox" name="c ...

  10. struts1.3.10 和 hibernate 3.3.2 一起加载时 出现javax.servlet.ServletException: java.lang.NoSuchMethodError: antlr.collections.A 错误

    struts1.3.10 需要导入一个 antlr-2.7.2.jar 的jar包: hibernate 3.3.2 需要导入一个 antlr-2.7.6.jar 的jar包,这两个包有冲突,所以需要 ...