2024牛客多校第二场 - C. Red Walking on Grid

news/2024/10/5 19:09:33

题目大意: \(2 \times n\) 大小的方格矩阵,某些格子不能走,走过的格子不能走。从任意点出发,一次最多走多少


首先有一个贪心的思想,每次从最左走到最右,只能向上下右走,不能向左走(因为向左走一定不会让步数更多)。

动态规划,设 \(f_{i,j}\) 表示从每个连通块走到 \((i,j)\) 的最大格子数,其中 \(i \in \{1,2\}\),则有:

\[f_{0,i}=\max \left\{\begin{aligned} &f_{0,i-1}\\ &f_{1,i} \end{aligned}\right. \]

\[f_{1,i}=\max \left\{\begin{aligned} &f_{1,i-1}\\ &f_{0,i} \end{aligned}\right. \]

注意后面那一项需要同时计算,即不能用 \(f_{1,i}\) 更新 \(f_{0,i}\) 后又用 \(f_{0,i}\) 更新 \(f_{1,i}\)

具体见代码:

#include<cstdio>
#include<algorithm>
using namespace std;const int N=1e6+5;
int n,f[2][N],ans;
char grid[2][N];
bool g[2][N];int main()
{scanf("%d",&n);scanf("%s%s",grid[0]+1,grid[1]+1);for(int i=0;i<=1;i++)for(int j=1;j<=n;j++)g[i][j] = grid[i][j]=='R'; //1能走,0不能走for(int i=1;i<=n;i++){if(g[0][i]) f[0][i]=max(f[0][i],f[0][i-1]+1);if(g[1][i]) f[1][i]=max(f[1][i],f[1][i-1]+1);int f0i=f[0][i],f1i=f[1][i];if(g[0][i]) f[0][i]=max(f[0][i],f1i+1);if(g[1][i]) f[1][i]=max(f[1][i],f0i+1);ans=max(ans,max(f[0][i],f[1][i]));}printf("%d\n",ans ? ans-1 : 0);return 0;
}

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

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

相关文章

高级语言程序设计第二次作业(102400106刘鑫语)

这个作业属于课程:https://edu.cnblogs.com/campus/fzu/2024C/ 作业要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13282 学号:102400106 姓名:刘鑫语 程序清单 最初都很顺利 3.1 3.2 3.3 3.4 3.5 3.6 出现了问题但一直没能解决,回宿舍后试着改成c99 依然报错,…

快乐数学4弧度

4 弧度 我们大多数人都不知道为什么圆要有 360 度。在学习高等数学或物理时,我们会记住一个神奇的数字--“圆的大小”,并将自己设置为一个 “圆的360度”。 专家们说:“弧度让数学变得更简单!”但却没有简单的理由(涉及泰勒级数的讨论并不简单)。今天,我们将揭开弧度的真…

序列化器ser.validated_data、ser.initial_data、ser.data

1.ser.data 示例:在视图中返回序列化后的数据 return Response(serializer.data)2.ser.validated_data if serializer.is_valid():validated_data = serializer.validated_data3.ser.initial_data 原始数据 4.示例: class LoginPwdSerializer(serializers.Serializer):mobile…

12-网络安全审计技术原理与应用

12.1 概述 1)概念 :指对网络信息系统的安全相关活动信息进行获取、记录、存储、分析和利用的工作。 作用:在于建立“事后”安全保障措施,保存网络安全事件及行为信息,为网络安全事件分析提供线索及证据,以便于发现潜在的网络安全威胁行为,开展网络安全风险分析及管理。 …

林史语其十(101-110)【下半更新】

12345鉴于收集素材与发布素材之间有一定延迟,此后林史一章分两次更新 先把存的旧东西发一下 #101故事源于 joke3579 学长博客里一份证明,涉及到求不定积分的 如果你不知道啥是不定积分,你只需要知道它是导数逆运算就行了 学长博客里写的是 :\(A\) 求导后等于 \(B\) HDK:\(…

CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径

CF 1805 D. A Wide, Wide Graph (*1800) 思维 + 树的直径 题目链接 题意:思路: 若当前点到最远的点的距离 \(< k\) , 说明 \(x\) 自己成为一个联通块。 并且我们知道距离任意一点最远的点一定是树直径的一个端点。 反之,则与直径端点在同一个联通块。 所以一个点要么独立…

Windows应急响应-Auto病毒

Windows—Auto病毒应急思路分享。目录应急背景分析样本开启监控感染病毒查看监控分析病毒行为autorun.inf分析2.异常连接3.进程排查4.启动项排查查杀1.先删掉autorun.inf文件2.使用xuetr杀掉进程3.启动项删除重启排查入侵排查正常流程 应急背景 运维人员准备通过windows共享文档…

帝国cms后台admin帐号密码忘记的处理方法

5.1 至 7.0 版本登录 phpMyAdmin访问 http://yourdomain.com/phpmyadmin。 输入数据库用户名和密码登录。选择帝国CMS 安装所在的数据库在 phpMyAdmin 主界面中,找到并选择帝国CMS 使用的数据库。找到 phome_enewsuser 表在数据库中找到名为 phome_enewsuser 的表。 单击该表以…