【题解】洛谷P1006传纸条
链接
https://www.luogu.org/problemnew/show/P1006
日常牢骚
过年前最后一节课上完了坐标DP 也接触了一点区间DP(noi1995石子合并)下次做做看看吧
老师布置了好多道DP这让我这个刚刚学的蒟蒻可咋办呀
想die的心
正题
不扯淡了赶紧扯回来
首先看到这题我想到了另外一题很相似的叫啥我忘了......
反正也是双向DP(姑且这么叫吧)
看到题解里有dalao们弄成三维的 二维的 甚至是一维的
我只想说
对大佬%%%%%%%%
本蒟蒻的做法十分质朴淡雅清新脱俗
因为题目的数据挺小只有50
所以自然而然用到了四维......
思路
- 既然是从头尾各走一遍且不重复 那么我们可以看成从头走两遍不重复的求最大的好感度
- 于是我们设(x1,y1)为第一次的坐标 (x2,y2)为第二次的坐标 得出f[x1][y1][x2][y2]为好感度总和
- 那么只有四种方法可以到每一个格子 (一上,二上)(一上,二左)(一左,二上)(一左,二左)
- 最后从后面遍历到头就出答案 答案在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传纸条的更多相关文章
- 洛谷 P1006 传纸条 题解
P1006 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法 ...
- 棋盘DP三连——洛谷 P1004 方格取数 &&洛谷 P1006 传纸条 &&Codevs 2853 方格游戏
P1004 方格取数 题目描述 设有N $\times N$N×N的方格图(N $\le 9$)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字00.如下图所示(见样例): A ...
- 洛谷 P1006 传纸条 多维DP
传纸条详解: 蒟蒻最近接到了练习DP的通知,于是跑来试炼场看看:发现有点难(毕竟是蒟蒻吗)便去翻了翻题解,可怎么都看不懂.为什么呢?蒟蒻发现题解里都非常详细的讲了转移方程,讲了降维优化,但这题新颖之处 ...
- 洛谷p1006 传纸条 三维解法
原题目如下 原地址https://www.luogu.com.cn/problem/P1006 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做 ...
- [NOIP2008] 提高组 洛谷P1006 传纸条
题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是 ...
- 【动态规划】洛谷P1006传纸条
题目描述: 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的 ...
- Codevs 1169 == 洛谷 P1006 传纸条
---恢复内容开始--- 1169 传纸条 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 小渊和小轩是好朋友也是同班同学,他 ...
- 洛谷 P1006 传纸条
题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是 ...
- 洛谷P1006 传纸条 (棋盘dp)
好气,在洛谷上交就过了,在caioj上交就只有40分 之前在51nod做过这道题了. https://blog.csdn.net/qq_34416123/article/details/8180902 ...
- 洛谷P1006 传纸条(多维DP)
小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个mm行nn列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是,他们 ...
随机推荐
- GoLang爬取花瓣网美女图片
由于之前一直想爬取花瓣网(http://huaban.com/partner/uc/aimeinv/pins/) 的图片,又迫于没时间,所以拖了很久. 鉴于最近在学go语言,就刚好用这个练手了. 预览 ...
- Jquery系列:textarea常用操作
1.textarea内容的读取与设置 读textarea文本值可以用name和id.而写入文本值只能用id. <textarea name="content" id=&quo ...
- 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的单例和多例的 ...
- java消息中间件 RocketMQ Linux安装与运行
阿里巴巴宣布捐赠RocketMQ到Apache软件基金会孵化项目,最近闲下来便去部署了一个试验版本玩玩. 至于RockeMQ是什么,原理架构什么的这里就不赘述了,这里只记录安装过程. 一.系统环境 s ...
- MySQL 修改数据表中的字段的字符编码
1.查询 MySQL 的版本: SELECT VERSION(); 2.查询 MySQL 当前使用的字符集: SHOW VARIABLES LIKE '%character%'; 3.查询指定数据库的 ...
- H5手机页面剖析
<!--强制使用webkit内核进行渲染--><meta http-equiv="X-UA-COMPATIBLE" content="IE=edge, ...
- 细说CSV
CSV全称是Comma-Separated Values(逗号分隔值).作为一种数据传输与存储的格式,它显然没有xml,json强大,只能进行一些二维数组的数据处理,但它在项目还是经常 ...
- 【起航计划 034】2015 起航计划 Android APIDemo的魔鬼步伐 33 App->Service->Local Service Binding 绑定服务 ServiceConnection Binder
本例和下列Local Service Controller 的Activity代码都定义在LocalServiceActivities.Java 中,作为LocalServiceActivities ...
- jQuery判断checkbox是否选中?操作checkbox(不)选中?
HTML <form action=""> <input type="checkbox" name="c ...
- 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包,这两个包有冲突,所以需要 ...