备战2023蓝桥国赛-传纸条

news2024/11/17 9:36:05

题目描述:
在这里插入图片描述
在这里插入图片描述
解析:
这道题想了我好久,一开始我是想假如只走一条路线,从(1,1)走到(m,n),这种问题该怎么解决呢?针对这种问题我是设了dp[k][i][j]表示走了k步到达(i,j)的好心程度之和的最大值,然后根据这个来写出转移方程来计算。后面就想有两条路线该怎么办?而且第二条路线是从(m,n)走到(1,1),只能往左或往上走,仔细想想其实就是从(1,1)走到(m,n),于是题意就变成从(1,1)到(m,n)有两条路线,这两条路线之和要是最大的,且不能有重合的地方
想到这我就不知道后面该怎么写了。。。
看了题解后才知道,这时可以设dp[x1][y1][x2][y2]表示一条路线从(1,1)走到(x1,y1),另一条路线从(1,1)走到(x2,y2)的情况下和的最大值,50的4次方,时间复杂度也可以过,但这还可以再优化下,时间复杂度还可以低些,其实我们需要知道的信息不需要那么多,我们只需知道两条路线当前横纵坐标之和以及横坐标,就可以推出纵坐标,而且我们可以假设两条路线是同时走的,故我们可以设dp[k][i][j]表示两条路线同时走,一条路线从(1,1)走到(i,k-i),另一条路线从(1,1)走到(j,k-j)的情况下和的最大值,k表示第一条路线的终点的横坐标为i,第二条路线的终点的横坐标为j的情况下的终点的横纵坐标之和,由于是同时走两条路线的k是相等的。
按照最后一步两个人的走法分成四种情况:

两个人同时向右走,最大分值是 f[k - 1, i, j] + score(k, i, j);
第一个人向右走,第二个人向下走,最大分值是 f[k - 1, i, j - 1] + score(k, i, j);
第一个人向下走,第二个人向右走,最大分值是 f[k - 1, i - 1, j] + score(k, i, j);
两个人同时向下走,最大分值是 f[k - 1, i - 1, j - 1] + score(k, i, j);
注意两个人不能走到相同格子,即i和j不能相等。

而且在看完题解之后我发现只走一条路线的情况下不需要三维,二维就够了,设dp[i][j]表示从(1,1)到达(i,j)的好心程度之和的最大值,不需要再循环k,因为到达每个格子的步数是固定的,故再循环步数就没有必要了。

代码:


#include<bits/stdc++.h>
using namespace std;
const int N=55;
int dp[2*N][N][N],w[N][N];
int main()
{
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=m;j++)
		cin>>w[i][j];
		
	for(int k=2;k<=n+m;k++)
	{
		for(int i=max(1,k-m);i<=min(n,k-1);i++)
		{
			for(int j=max(1,k-m);j<=min(n,k-1);j++)
			{
				for(int a=0;a<=1;a++)
				{
					for(int b=0;b<=1;b++)
					{
						int t=w[i][k-i];
						if(i != j || k == n+m)//i==j时也有可能要进入,就是当k==n+m的情况
						{
							t+=w[j][k-j];
							dp[k][i][j]=max(dp[k][i][j],dp[k-1][i-a][j-b]+t);
							
						}
					}
				}
			}
		}
	}
	cout<<dp[n+m][n][n];
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/82925.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]JAVA毕业设计迎宾酒店管理系统录屏(系统+LW)

[附源码]JAVA毕业设计迎宾酒店管理系统录屏&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目…

R语言中使用多重聚合预测算法(MAPA)进行时间序列分析

最近我们被客户要求撰写关于时间序列分析的研究报告&#xff0c;包括一些图形和统计输出。这是一个简短的演示&#xff0c;可以使用该代码进行操作。使用MAPA生成预测。 > mapasimple(admissions)t1 t2 t3 t4 t5 t6 t7 t8 t9 t…

ElasticsearchRestTemplate 和ElasticsearchRepository 的使用

操作ElasticSearch的数据&#xff0c;有两种方式一种是 ElasticsearchRepository 接口&#xff0c;另一种是ElasticsearchTemplate接口 SpringData对ES的封装ElasticsearchRestTemplate类&#xff0c;可直接使用&#xff0c;此类在ElasticsearchRestTemplate基础上进行性一定程…

Kibana:使用 Maps 来显示分布式的团队

在我之前的文章 “Kibana&#xff1a;如何在 Maps 应用中显示图片提示” 里&#xff0c;我展示了如何在 Kibana 中使用图片来展示一个图片的提示。这个在很多情况下是非常有用的&#xff0c;比如在疫情发生期间&#xff0c;我可以通过点击地图上的点来查看发生疫情人员的详细情…

ADI Blackfin DSP处理器-BF533的开发详解40:图像处理专题-GrayStretch 图像的灰度拉伸(含源码)

硬件准备 ADSP-EDU-BF533&#xff1a;BF533开发板 AD-HP530ICE&#xff1a;ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像的灰度拉伸&#xff0c;代码运行时&#xff0c;会通过文件系统打开工程文件根目下" …/ImageView"路径中的 t…

回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测 目录回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测写在前面效果一览基本描述模型描述程序设计参考资料写在前面 程序获取 | 机器学习/深度学习程序获取方式&#xff0…

Django学习第一天记录

1.安装Django(Windows环境) 首先需要确定系统中存在python环境&#xff0c;当前&#xff0c;本机的python环境为python 3.6.6&#xff0c;可以使用命令python --version进行查看。 在python环境成功搭建的基础上&#xff0c;我们使用命令pip install django即可进行django环境…

虚拟现实解决方案,实现 VR 数智机房

如今&#xff0c;虚拟现实技术作为连接虚拟世界和现实世界的桥梁&#xff0c;正加速各领域应用形成新场景、新模式、新业态。 图扑软件基于自研可视化引擎 HT for Web 搭建的 VR 数据中心机房&#xff0c;是将数据中心的运营搬到 VR 虚拟场景。以数据中心实际场景为基础&#…

Chaos Vantage这款渲染器有多强,一起来了解一下

Chaos Vantage 是最老牌渲染器之一的VRay开发公司Chaos新开发的一款实时GPU渲染引擎&#xff0c;以前的名字是Project Lavina&#xff0c;首次在Siggraph 2018上作为技术预览展示&#xff0c;官方定位是“在完全光线追踪环境中探索大型3D场景的工具”。 与其他实时渲染解决方案…

头戴式耳机适不适合跑步、分享几款最适合跑步的耳机

激情的运动和美妙的音乐毫无疑问是绝妙的搭配&#xff0c;几乎每天都驰骋在田径场上的我&#xff0c;一直非常关注运动耳机&#xff0c;也有不少朋友找我推荐运动耳机。运动耳机的选择有很多&#xff0c;但是极度靠谱的产品却是真的很少&#xff01;如果你也不希望你在选购运动…

双十二大家都在买哪些书?这份书单请码住

双十二来啦&#xff0c;这一天也在提醒着我们这一年就要结束了。虽然距离上次买买买才过去不久&#xff0c;但是想读的书却在时刻增加。 这个双十二&#xff0c;依旧给大家推荐好书&#xff0c;根据近期搜索人气、销量排行、读者口碑整理了“计算机新书”“2022最受欢迎图书”“…

C#+SqlServer超市管理系统的设计与实现

目 录 1引言 1 1.1课题研究内容 1 2系统需求分析 1 2.1系统模块构建 1 2.1.1系统整体结构功能模块 1 2.1.2前、后台功能模块 2 3 数据库设计 3 3.1 E-R图和关系图 3 3.2数据库表设计 4 4系统实现 7 4.1 前台模块 7 4.2 后台模块 14 5 结果测试 24 5.1前台模块的测试 24 5.2后台…

教你制作GIF表情包,逐帧动画制作

我们经常看到很多著名的电影场景都被制作成GIF动画&#xff0c;非常有趣。下面2分钟教你制作GIF表情包&#xff0c;方法很简单&#xff0c;一起来学习吧&#xff01; 方法一&#xff1a;手机制作GIF 我们来看看如何在手机上制作GIF&#xff0c;您需要使用刷新视频编辑工具。打开…

南方农机杂志南方农机杂志社南方农机编辑部2022年第24期目录

南方论坛《南方农机》投稿&#xff1a;cnqikantg126.com 基于物联网的食用菌日光温室终端控制研究 崔玉萍;席雪琴; 8-1016 基于颜色统计的水果采摘机器人水果识别的研究 夏康利;何强; 11-16 基于MATLAB/GUI双作用椭圆轨道滚柱泵人机界面设计 陈舰; 17-20 电动自…

nodejs 引用 canvas报错:without installing the canvas npm package

Error: Not implemented:HTMLCanvasElement. prototype.getContext(without installing the canvas npm package) 试了node 14.19.1 和 node 16.15.0 两个版本的都不行&#xff0c;即使是npm install canvas 成功了&#xff0c;运行也会报错&#xff0c;困扰了好久&#xff0c;…

【Python百日进阶-数据分析】Day125 - plotly.express.scatter():散点图

文章目录一、散点图语法二、参数三、返回类型四、示例4.1 array_like 对象4.2 DataFrame 列4.3 使用列名设置大小和颜色4.4 颜色可以是连续的&#xff0c;也可以是离散的/分类的。4.5 所述symbol参数可以被映射到的列&#xff0c;可以使用多种符号。4.6 Dash 中的散点图4.7 散点…

零基础转行学python有必要去培训机构吗

Python语言&#xff0c;以其简单易学成为不少人学习编程语言的新方向。而市面上也出来了各种各样的python培训机构&#xff0c;不少人就有疑惑了&#xff0c;既然python语言简单易学&#xff0c;那么还有必要去培训机构系统学习吗&#xff1f;知了堂认为&#xff0c;如果你是想…

人工智能:声纹识别技术介绍

❤️作者主页&#xff1a;IT技术分享社区 ❤️作者简介&#xff1a;大家好,我是IT技术分享社区的博主&#xff0c;从事C#、Java开发九年&#xff0c;对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️个人荣誉&#xff1a; 数据库领域优质创作者&#x1f3c6;&#x…

使用gitee将本地资源上传

在编程时&#xff0c;写好本地文件以后我们可以使用gitee将写的东西上传到gitee官网上分享或者让我们自己可以随时查看&#xff0c;首先&#xff0c;我们需要下载git这个软件&#xff0c;在这里推荐使用电脑管家里面的软件管理下载 &#xff0c;软件图标如下&#xff1a; 1.生成…

自定义RBAC(4)

您好&#xff0c;我是湘王&#xff0c;这是我的CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 前面把RBAC的权限系统设计过程都讲清楚了&#xff0c;现在就来实现它。大致分这么几个步骤&#xff1a; 1、先定义出完整的权限系统表结构&#xff1b; 2、实现…