H-Instructions Substring(牛客暑期第二场)

题意:刚开始red站在初始位置(0,0),她有一串指令:向上,向下,向左,向右(上将y++,下将y--,左x--,右x++),可以选择连续的指令子字符串并执行他们,最终能通过目标坐标(x,y),有多少种选择选项。

知识点:前缀和,mp

分析:从起点开始第一次经过目标点,后面的也都要计算进结果。计算从起点开始之后每一次操作完的坐标。某段前缀和的值为目标值,那么它就算一次,并且要加上前缀和的最后一个值后面的所有数,只要经过目标值,再到后面的值也算。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){int n,x,y;cin>>n>>x>>y;string s;cin>>s;vector<array<int,2>>a(n+1);a[0]={0,0};for(int i=0;i<n;i++){a[i+1]=a[i];if(s[i]=='W'){a[i+1][1]++;}else if(s[i]=='A'){a[i+1][0]--;}else if(s[i]=='S'){a[i+1][1]--;}else{a[i+1][0]++;}}ll ans=0;map<array<int,2>,int>mp;for(int i=n;i>=0;i--){//枚举目标值的位置mp[a[i]]=i;if(mp.count({a[i][0]+x,a[i][1]+y})){int j=mp[{a[i][0]+x,a[i][1]+y}];j=max(j,i+1);//要是前缀和的最后一位ans+=n-j+1;//加上目标值后面的数哦}}cout<<ans<<endl;return 0;}
//a 0,0 
//s -1,0
//a -1,-1
//w -2 -1
//d -2 0
//d -1 0
// 0,0

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

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

相关文章

【Gitlab】记一次升级 Gitlab 后 API 失效的问题

背景 前段时间&#xff0c;因内部使用的 Gitlab 版本存在漏洞&#xff0c;需要进行升级&#xff0c;于是乎&#xff0c;将 Gitlab 从 16.6.0 升级到 16.11.3。而我们项目有个接口是用于获取 Gitlab 上的开发人员。 然后&#xff0c;今天&#xff0c;突然发现这个接口获取不到…

【Django】网上蛋糕项目商城-注册,登录,修改用户信息,退出功能

概念 通过以上多篇文章的讲解&#xff0c;对该项目的功能已经实现了很多&#xff0c;本文将对该项目的用户注册&#xff0c;登录&#xff0c;修改用户信息&#xff0c;以及退出等功能的实现。 注册功能实现 点击head.html头部页面的注册按钮&#xff0c;触发超链接跳转至use…

十一、集合操作

一、集合定义 语法 创建集合使⽤ {} 或 set() 功能 集合可以去掉重复数据&#xff1b;集合数据是⽆序的&#xff0c;故不⽀持下标 s1 set(eqweqwe) s2 {} s3 {10, 20, 30, 40, 50} s4 {"name":"xuxu"} print(s1) print(type(s1)) print(type(s2)) pri…

[Python][自然语言]利用NLTK建立自己的情感分析模型

文章目录 相关python模块步骤一:准备自己的训练数据步骤二:读取并处理数据步骤三:特征提取步骤四:训练机器学习模型步骤五:部署模型相关python模块 pip install pandas pip install scikit-learn pip install nltk 当前使用版本 Python 3.10.12 scikit-learn 1.2.2 pand…

操作系统发展简史(Unix/Linux 篇 + DOS/Windows 篇)+ Mac 与 Microsoft 之风云争霸

操作系统发展简史&#xff08;Unix/Linux 篇&#xff09; 说到操作系统&#xff0c;大家都不会陌生。我们天天都在接触操作系统 —— 用台式机或笔记本电脑&#xff0c;使用的是 windows 和 macOS 系统&#xff1b;用手机、平板电脑&#xff0c;则是 android&#xff08;安卓&…

Symfony数据库抽象层:深入理解其工作原理

在现代Web应用开发中&#xff0c;数据库是不可或缺的一部分。Symfony框架提供了一个强大且灵活的数据库抽象层&#xff08;DBAL&#xff09;&#xff0c;使得开发者能够轻松地与各种类型的数据库进行交互。本文将深入探讨Symfony数据库抽象层的工作原理&#xff0c;并展示一些示…

来聊聊去中心化Redis集群节点如何完成通信

写在文章开头 今天我们来聊点有意思的&#xff0c;关于redis中集群间通信的设计与实现&#xff0c;本文将从源码的角度分析redis集群节点如何利用Gossip协议完成节点间的通信与传播&#xff0c;希望对你有帮助。 Hi&#xff0c;我是 sharkChili &#xff0c;是个不断在硬核技术…

ARM/Linux嵌入式面经(十六):蔚来嵌入式一二三面面经

文章目录 static作用,局部static和全局static区别TCP三次握手Linux虚拟内存指针引用区别C++内存分区new/delete和malloc/free区别职业规划为什么选择蔚来介绍一下项目然后问我有没有内核级别开发经验,我说没有什么情况进入内核态一、主动式二、被动式三、其他方式注意事项示例…

MAVSKD-Java开源库mavsdk_server库macOS平台编译

1.下载源码 2.使用IDEA打开,进行mavsdk_server目录,使用gradle进行编译 3.开始编译时会自动下载依赖 4.下载完成后,会自动编译 5.编译成功 6.成功生成AAR文件

2024算力基础设施安全架构设计与思考(免费下载)

算网安全体系是将数据中心集群、算力枢纽、一体化大数据中心三个层级的安全需求进行工程化解耦&#xff0c;从国家安全角度统筹设计&#xff0c;通过安全 服务化方式&#xff0c;依托威胁情报和指挥协同通道将三层四级安全体系串联贯通&#xff0c;达成一体化大数据安全目标。 …

文件IO(Ubuntu)

文件IO 目的 将数据写入文件中 与标准IO的区别 &#xff08;为什么要学习文件IO&#xff09; 标准IO只能操作普通文件和特殊的管道文件 文件IO能操作几乎所有的的文件 缓存区的目的 标准IO有缓存区 文件IO没有缓存区 根据右图描述 标准IO 文件IO buffer缓存区 有缓存区…

数据库管理的艺术(MySQL):DDL、DML、DQL、DCL及TPL的实战应用(上:数据定义与控制)

文章目录 DDL数据定义语言1、创建数据库2、创建表3、修改表结构4、删除5、数据类型 列的约束主键约束&#xff08;primary key&#xff09;唯一约束&#xff08;unique key&#xff09;非空约束检查约束&#xff08;check&#xff09;外键约束&#xff08;foreign key&#xff…

水域救援装备的详细简介_鼎跃安全

水域救援行动需要救援人员配备全面、专业的装备&#xff0c;以应对各种复杂的水域环境和救援任务。水域救援套装应运而生&#xff0c;它集合了水域救援所需的各类关键装备&#xff0c;为救援人员提供全方位的保护和辅助&#xff0c;确保数援行动的高效与安全。 水域救援头盔&am…

S参数入门

一、说明 S参数全称为散射参数&#xff0c;主要用来作为描述线性无源互联结构的一种行为模型&#xff0c;来源于网络分析方法。网络分析法是一种频域方法&#xff0c;在一组离散的频率点上&#xff0c;通过在输入和输出端口得到的参量完全描述线性时不变系统&#xff08;定义参…

npm install 出现canvas错误

npm install canvas2.8.0 --ignore-scripts只要是&#xff1a;npm ERR! Failed at the XXXX.X.X install script 这种错误 都可以&#xff1a;npm install XXXX.X.X --ignore-scripts进行更改 https://blog.csdn.net/YXWik/article/details/119039561

PyTorch 深度学习实践-循环神经网络基础篇

视频指路 参考博客笔记 参考笔记二 文章目录 上课笔记基于RNNCell实现总代码 基于RNN实现总代码 含嵌入层的RNN网络嵌入层的作用含嵌入层的RNN网络架构总代码 其他RNN扩展基本注意力机制自注意力机制&#xff08;Self-Attention&#xff09;自注意力计算多头注意力机制&#xf…

浏览器的卡顿与react的解决思路

以下内容是阅读过程中结合自己的思考而诞生的产物&#xff0c;不一定准确&#xff0c;但相反的&#xff0c;可能个人对实际情况有很大的误解。 仅做参考&#xff0c;欢迎指正。 前面提到浏览器显示的其实是渲染流程最后渲染出来的一张图片&#xff0c;而一个行为引起的副作用需…

系统架构师(每日一练4)

每日一练 1.在网络操作系统环境中&#xff0c;若用户UserA的文件或文件夹被共享后&#xff0c;则()。 答案与解析 A.UserA 的安全性与未共享时相比将会有所提高 B.UserA 的安全性与未共享时相比将会有所下降 C.UserA 的可靠性与未共享时相比将会有所提高 D.UserA 的方便性与未…

redis笔记和测试

redis是用c语言写的,放不频繁更新的数据&#xff08;用户数据。课程数据&#xff09; Redis 中&#xff0c;"穿透"通常指的是缓存穿透&#xff08;Cache Penetration&#xff09;问题&#xff0c;这是指一种恶意或非法请求直接绕过缓存层&#xff0c;直接访问数据库或…

Nginx(详解)

1. 什么是Nginx&#xff1f; Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件&#xff08;IMAP/POP3&#xff09;代理服务器&#xff0c;在BSD-like 协议下发行。其特点是占有内存少&#xff0c;并发能力强&#xff0c;事实上nginx的并发能力在同类型的网页服务器中表…