cf957---D. Test of Love

恩科尔愿意为朱伦做任何事,甚至愿意游过鳄鱼出没的沼泽。我们决定测试一下这份爱。恩科尔必须游过一条宽 11 米、长 𝑛𝑛 米的河流。

河水非常冷。因此,***(即从 00 游到 𝑛+1𝑛+1 的整个过程)恩科尔在水里游的距离不超过 𝑘𝑘 米。为了人性化起见,我们不仅在河里加入了鳄鱼,还加入了可以让他跳上去的圆木。我们的测试如下

一开始,恩科尔在左岸,需要到达右岸。它们分别位于 00 和 𝑛+1𝑛+1 米处。河道可以表示为 𝑛𝑛 个河段,每个河段的长度为 11 米。每个河段都包含原木 "L"、鳄鱼 "C "或水 "W"。恩科的移动方式如下

  • 如果他在水面上(即岸边或圆木上),他可以向前跳跃不超过 𝑚𝑚 ( 1≤𝑚≤101≤𝑚≤10 )。( 1≤𝑚≤101≤𝑚≤10 ) 米(他可以在岸上、原木上或水中跳跃)。
  • 如果他在水中,他只能游到下一个河段(如果他在 𝑛𝑛 /-米处,则只能游到岸边)。
  • 无论如何,ErnKor 都不能在有鳄鱼的河段登陆。

确定恩科尔能否到达右岸。

输入

第一行包含一个整数 𝑡𝑡 ( 1≤𝑡≤1041≤𝑡≤104 ) - 测试用例数。

每个测试用例的第一行包含三个数字 𝑛,𝑚,𝑘𝑛,𝑚,𝑘 ( 0≤𝑘≤2⋅1050≤𝑘≤2⋅105 , 1≤𝑛≤2⋅1051≤𝑛≤2⋅105 , 1≤𝑚≤101≤𝑚≤10 )--河流的长度、恩科尔可以跳跃的距离,以及恩科尔在不受冻的情况下可以游泳的米数。

每个测试用例的第二行包含长度为 𝑛𝑛 的字符串 𝑎𝑎 。 𝑎𝑖𝑎𝑖 表示位于 𝑖𝑖 /-米处的物体。( 𝑎𝑖∈{𝑎𝑖∈{ 'W','C','L' }} )

保证所有测试用例的 𝑛𝑛 之和不超过 2⋅1052⋅105 。

输出

对于每个测试用例,如果 ErnKor 可以通过测试,则输出 "YES",否则输出 "NO"。

您可以用任何大小写(大写或小写)输出答案。例如,字符串 "yEs"、"yes"、"Yes "和 "YES "将被识别为肯定回答。

做法

如果前m-1格有水直接跳过去,后面再游。怎么说这题用到了递推,对我来说还挺新颖的这个做法。记录一下吧qwq。感觉这种只能看题解理解理解了,自己写根本写不出来。。。

#include<bits/stdc++.h>
using namespace std;
int t,n,m,k;
int a[200100],b[200100];//是否走得到第i格,游到第i格用的“代价”
string s;
int main(){scanf("%d",&t);while(t--){scanf("%d%d%d",&n,&m,&k);cin>>s;for(int i=0;i<=n+10;i++) b[i]=0x3f3f3f3f,a[i]=0;//初始化for(int i=0;i<m;i++) {//从原点跳m的范围a[i]=1;b[i]=0;}for(int i=0;i<n;i++){if(s[i]=='C') continue;//鳄鱼if(b[i]>k) continue;//代价超过kif(s[i]=='W') a[i+1]=1,b[i+1]=min(b[i+1],b[i]+1);//游水的代价else{//跳m的范围for(int j=1;j<=m;j++) {a[i+j]=1;b[i+j]=min(b[i+j],b[i]);}}}if(a[n]==1&&b[n]<=k) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
}

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

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

相关文章

通用详情页的打造

背景介绍 大家都知道&#xff0c;详情页承载了站内的核心流量。它的量级到底有多大呢&#xff1f; 我们来看一下&#xff0c;日均播放次数数亿次&#xff0c;这么大的流量&#xff0c;其重要程度可想而知。 在这样一个页面&#xff0c;每一个功能都是大量业务的汇总点。 作为…

【Web开发手礼】探索Web开发的魅力(三)-html基础标签(3)

上述主要是对html标签的介绍和一些基本练习可以当作日常笔记收藏一下&#xff01;&#xff01;&#xff01; 目录 前言 html基础标签 前言 上述主要是对html标签的介绍和一些基本练习可以当作日常笔记收藏一下&#xff01;&#xff01;&#xff01; 提示&#xff1a;以下是本…

克隆某个特定的分支而不是默认分支(master)

当你克隆一个远程仓库时&#xff0c;默认情况下 Git 会克隆整个仓库并将 master&#xff08;或 main&#xff0c;取决于默认分支的名称&#xff09;分支检出为当前分支。如果你想直接克隆某个特定的分支而不是默认分支&#xff0c;可以使用 --branch 或 -b 选项来指定分支。 克…

PostgreSQL 怎样处理数据仓库中维度表和事实表的关联性能?

文章目录 PostgreSQL 中维度表和事实表关联性能的处理 PostgreSQL 中维度表和事实表关联性能的处理 在数据仓库的领域中&#xff0c;PostgreSQL 作为一款强大的关系型数据库管理系统&#xff0c;对于处理维度表和事实表的关联性能是一个关键的问题。维度表和事实表的关联是数据…

【手写数据库内核组件】0301 动态内存池,频繁malloc/free让系统不堪重负,动态内存池让应用自由使用动态内存

动态内存管理 ​专栏内容&#xff1a; postgresql使用入门基础手写数据库toadb并发编程 个人主页&#xff1a;我的主页 管理社区&#xff1a;开源数据库 座右铭&#xff1a;天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物. 文章目录 动态内存管…

RSA算法详解:万字文章详解RSA的加密与解密

本文目录 文章前言一、RSA的诞生1、加密算法的前世今生① 《六韬龙韬》中的阴符与阴书② 古罗马&#xff1a;凯撒密码③ 斯巴达&#xff1a;塞塔式密码&#xff08;Scytale&#xff09; 2、对称加密的脆弱性3、非对称加密算法的出现 二、RSA中的数学概念与定理1、质数理论2、关…

韩国裸机云大宽带服务器主要特点和优势

韩国裸机云大宽带服务器是一种高性能的服务器解决方案&#xff0c;它专为需要大量数据处理和快速互联网连接的应用而设计**。这种服务器通常由第三方服务提供商提供&#xff0c;主要特点是没有预装操作系统和软件&#xff0c;用户可以根据自身需求进行个性化配置。以下将根据您…

使用Qt和mitmproxy开发一个抓取网页短视频的万能工具

目录 实现原理 mitmproxy介绍 功能简介 安装 脚本示例 如何使用 解释 注意事项 QT工具实现 其他资源 实现原理 使用WebView组件造一工具,工具可输入网页地址并显示网页内容及播放视频。把工具的代理设置指向mitmproxy的端口服务。配合使用mitmproxy的MITM技术,监…

7.8~7.10练习

目录 1.扑克牌游戏 2.链表基本功能的实现&#xff08;单项链表&#xff09; 3.移除链表元素力扣 4.反转链表力扣 5.链表的中间结点 5.返回倒数第k个节点​编辑 6.合并两个有序链表 7.链表基本功能的实现&#xff08;双向链表&#xff09; 8.链表分割 1.扑克牌游戏 public…

LightRAG:高效构建和优化大型语言模型应用的 PyTorch 框架

一、前言 随着大语言模型 (LLM) 的蓬勃发展&#xff0c;检索增强生成 (RAG) 技术作为一种将 LLM 与外部知识库结合的有效途径&#xff0c;受到了越来越多的关注。 然而&#xff0c;构建 LLM 应用的真正挑战在于开发者需要根据具体需求进行高度定制化&#xff0c;而现有的 RAG …

Vscode ssh远程连接Linux服务器登录时密码password无法输入

问题 最近在用Vscode远程连接Linux服务器时&#xff0c;在终端提示输入密码password的时候用键盘输入没有反应。 以为是键盘坏了&#xff0c;然后尝试复制粘贴没有用。 后来找到了原因以及解决方法&#xff0c;感谢原帖作者&#xff08;原贴链接粘在下面&#xff09; 原因 …

flutter 列表下拉框加搜索

1.使用控件搜索加下拉框dropdown_search: ^0.4.9和获取中文拼音lpinyin: ^1.1.1 2.加入中文查询和首字查询 在当中找到相应的packages&#xff0c;再在SelectDialog.dart当中加入引入拼音搜索 import package:lpinyin/lpinyin.dart; 更改匹配方法manageItemsByFilter使其可…

有必要把共享服务器升级到VPS吗?

根据自己的需求来选择是否升级&#xff0c;虚拟专用服务器 (VPS) 是一种托管解决方案&#xff0c;它以低得多的成本提供专用服务器的大部分功能。使用 VPS&#xff0c;您的虚拟服务器将与在其上运行的其他虚拟服务器共享硬件服务器的资源。但是&#xff0c;与传统的共享托管&am…

Oracle数据库加密与安全

Wallet简介&#xff1a; Oracle Wallet(即内部加密技术TDE( Transparent DataEncryption&#xff09; TDE是 Oracle10gR2中推出的一个新功能,使用时要保证Oracle版本是在10gR2或者以上 Wallet配置&#xff1a; 1.创建一个新目录&#xff0c;并指定为Wallet目录 /home/oracle…

Python爬虫技术从去哪儿网获取旅游数据,对攻略进行可视化分析,提供全面的旅游攻略和个性化的出行建议

背景 随着信息技术的快速发展和互联网的普及&#xff0c;旅游行业也迎来了数字化和智能化的变革。去哪儿网作为中国领先的在线旅游平台之一&#xff0c;提供了丰富的旅游产品和服务&#xff0c;涵盖了机票、酒店、旅游度假等各个方面。用户通过去哪儿网可以方便地查询、预订和…

C# Path

Path.CombinePath.GetDirectoryNamePath.GetFileNamePath.GetFullPathPath.GetExtensionPath.GetFileNameWithoutExtensionPath.HasExtensionPath.ChangeExtensionPath.GetPathRootPath.IsPathRooted C# 中的 Path 是 System.IO 命名空间中的一个类&#xff0c;提供了用于操作…

el-input-number计数器change事件校验数据,改变绑定数据值后change方法失效问题的原因及解决方法

在change事件中如果对el-input-number绑定的数据进行更改&#xff0c;会出现change事件失效的问题 试过&#xff1a;this.$set()及赋值等方法&#xff0c;都无法解决 解决方法&#xff1a;用$nextTick函数对绑定值进行更改&#xff08; this.$nextTick(() > { this.绑定…

Java:构造函数与对象

第一章&#xff1a;构造函数揭秘 —— 创造者的第一次触碰 构造函数&#xff0c;顾名思义&#xff0c;是用于创建和初始化对象的特殊方法。它没有返回类型&#xff0c;名字与类名一致。构造函数是对象诞生的第一步&#xff0c;也是最至关重要的一步。让我们通过一个生动的例子…

STM32HAL库+ESP8266+cJSON+微信小程序_连接华为云物联网平台

STM32HAL库ESP8266cJSON微信小程序_连接华为云物联网平台 实验使用资源&#xff1a;正点原子F407 USART1&#xff1a;PA9P、A10&#xff08;串口打印调试&#xff09; USART3&#xff1a;PB10、PB11&#xff08;WiFi模块&#xff09; DHT11&#xff1a;PG9&#xff08;采集数据…

JavaScript 判断客户端是手机还是pad

引言 在日常开发中&#xff0c;经常需要根据设备的类型来做不同的适配或逻辑处理。特别是在移动端开发中&#xff0c;判断用户使用的设备类型是手机还是平板电脑是非常常见的需求。本文将介绍使用 JavaScript 判断设备类型的方法&#xff0c;并提供相应的代码示例。 设备类型…