第十四届蓝桥杯省赛C++B组G题【子串简写】题解(AC)






题目大意
给定字符串 s s s,字符 a , b a, b a,b,问字符串 s s s 中有多少个 a a a 开头 b b b 结尾的子串。
解题思路
20pts
使用二重循环枚举左端点和右端点,判断是否为 a a a 开头 b b b 结尾的字符串,是则答案加一。
100pts
数据范围较大,我们需要将时间复杂度控制在 O ( n log n ) O(n\log n) O(nlogn) 以内。
法一
我们需要找到所有 a a a 开头 b b b 结尾的字符串,那么我们可以对于每个字符 b b b,去看 b b b 的左侧有几个 a a a,那么这些 a … b a\dots b a…b 就是合法的字符串。统计某个位置的左侧有几个字符 a a a,我们可以使用前缀和算法进行维护。
法二
我们可以去遍历整个字符串,对于每个 a a a 字符的右侧有几个字符 b b b,那么这些 a … b a \dots b a…b 都是合法的字符串。统计某个位置之后字符 b b b 的个数,可以使用后缀和算法进行维护。
#include <iostream>
#include <cstring>
#include <algorithm>using namespace std;typedef long long LL;const int N = 5e5 + 10;int n, m;
string str;
char a, b;
int s[N];int main()
{cin >> m >> str >> a >> b;n = str.size();str = ' ' + str;for (int i = n; i; -- i )s[i] = s[i + 1] + (str[i] == b);LL res = 0;for (int i = 1; i + m - 1 <= n; ++ i )if (str[i] == a)res += s[i + m - 1];cout << res << endl;return 0;
}
【在线测评】

相关文章:
第十四届蓝桥杯省赛C++B组G题【子串简写】题解(AC)
题目大意 给定字符串 s s s,字符 a , b a, b a,b,问字符串 s s s 中有多少个 a a a 开头 b b b 结尾的子串。 解题思路 20pts 使用二重循环枚举左端点和右端点,判断是否为 a a a 开头 b b b 结尾的字符串,是则答案加一…...
实现Java Web应用的高性能负载均衡方案
实现Java Web应用的高性能负载均衡方案 大家好,我是微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在高并发的网络环境中,负载均衡是确保Web应用程序高性能和可靠性的关键策略之一。本文将探讨如何…...
医学预测模型web APP的制作建议
医学预测模型web APP的制作建议 医学预测模型类web APP定义为承载预测模型而便利预测模型临床应用的可视化客户端。 医学预测模型类web APP的功能是衔接预测模型和临床实践,让用户正确地,方便地使用预测模型并恰当地理解预测模型的结果,在此…...
gitlab每日备份以及restore
gitlab服务有非常简洁的每日备份命令, 从production的gitlab的每日备份中restore到backup环境也非常方便。 一、Production gitlab每日备份 1. Production gitlab环境上编写脚本 cat /root/gitlab_bak.shgitlab-rake gitlab:backup:create > /var/opt/gitl…...
2024-07-05 base SAS programming学习笔记9(variables)
1.在数据集增加累加变量值(SUM) 求和语句(SUM STATEMENT):variableexpression variable是累积求和的变量名,为数值型,默认初始值为0;该variable值则会保留到一个观测 当expression有缺失值,在求…...
kafka--发布-订阅消息系统
1. Kafka概述 1. kafka是什么 kafka是分布式的、高并发的、基于发布/订阅模式的消息队列软件系统。 kafka中的重要组件 Producer:消息生产者,发布消息到Kafka集群的终端或服务Consume:消费者,从Kafka集群中消费消息的终端或服…...
2024最新软件测试面试题。内附答案+文档
🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 1、你以前工作时的测试流程是什么? 参考答案:(灵活回答&…...
新加坡很火的slots游戏代投Facebook广告新流量趋势
新加坡很火的slots游戏代投Facebook广告新流量趋势 在新加坡这片充满活力的土地上,Slots游戏以其独特的魅力和吸引力,迅速成为了许多玩家的心头好。而Facebook,作为全球最大的社交媒体平台之一,为Slots游戏的推广提供了得天独厚的…...
C++ 实现字符串逆序
C 实现字符串逆序 思路: 输入一个字符串。使用双指针法,交换字符串的首尾字符,逐步向中间移动。输出逆序后的字符串。 #include <iostream> #include <string>using namespace std;void reverseString(string &str) {int …...
【项目实践】贪吃蛇
一、游戏效果展示二、博客目标三、使用到的知识四、Win32 API 介绍 4.1 WIn32 API4.2 控制台程序4.3 控制屏幕上的坐标COORD4.4 GetStdHandle4.5 GetConsoleCursorInfo 4.5.1 CONSOLE_CURSOR_INFO 4.6 SetConsoleCursorInfo4.7 SetConsoleCursorPosition4.8 GetAsyncKeyState 五…...
将exe文件添加到注册表中,实现开机时自动运行
目录 一、前言 二、代码 三、使用步骤 1.编译生成exe文件、 2.以管理员身份运行代码 3.打开注册表,验证结果 一、前言 在Windows操作系统中,将exe文件的路径添加到注册表下,主要用于实现程序的开机自动运行功能。 注册表路径为…...
SQL使用注意事项
作为开发人员日常最为熟悉的工具sql。但是在实际使用中,有一些坑需要尽量避免,本文是对一些常用注意事项的总结 查询需要的。不要全部都查询。禁止使用存储过程,禁止使用外键。使用sql进行计算,要小心。(数据量大的情况…...
uniapp小程序IOS端,uni.createInnerAudioContext()无声音
可能的问题 路径中有中文字符需要使用uni.getBackgroundAudioManager()播放其他问题 解决办法 首先我的路径中没有中文字符,如果有的,可能需要转义一下或者干脆不使用中文字符,第二个也是从其他博客中看到的,我这边分享一下我的…...
第二节-K8s词汇表
关键字词汇表 https://kubernetes.io/zh-cn/docs/reference/glossary/?fundamentaltrue API Group (API 组)Kubernetes API 中的一组相关路径。 API 服务器亦称作:kube-apiserver API 服务器是 Kubernetes 控制平面的组件, 该组件负责公开了 Kubernetes API&…...
命令行运行git reflog(reference log)报错的解决办法
文章目录 1. 检查 Git 是否已安装2. 检查 PATH 环境变量3. 重新安装 Git 在Git中, reflog的英文全称是 “ reference log”。意思是 引用日志(参考日志)。它记录了本地仓库中HEAD和分支引用所指向的提交的变更历史。这包括了你所有的提交&…...
python3 imwrite 中文路径不成功解决方法
filename 中文路径 #cv2.imwrite(filename, frame) cv2.imencode(.jpg, frame)[1].tofile(filename)...
tapd 与国内外主流的8大项目管理软件大对比
对比Tapd与8大项目管理工具:PingCode、Worktile、Redmine、Teambition、广联达、Jira、禅道、飞书。 Tapd 是腾讯推出的一款敏捷开发管理工具,特别适合那些需要高效协作和快速迭代的敏捷开发团队。它支持多种敏捷方法论,包括Scrum和Kanban&am…...
IP地址配置
1.为虚拟机配置IP地址,网关,DNS 例如:手动给虚拟机配置IP地址为 192.168.5.50/24;网关地址为:192.168.5.2;DNS地址为:192.168.5.2 解题步骤如下: #配置IP地址 [rootlocalhost ~]#…...
【C#】ProgressBar进度条异步编程思想
1.控件介绍 进度条通常用于显示代码的执行进程进度,在一些复杂功能交互体验时告知用户进程还在继续。 在属性栏中,有三个值常用: Value表示当前值,Minimum表示进度条范围下限,Maximum表示进度条范围上限。 2.简单实…...
深入浅出3D感知中的优化与基于学习的技术1(原创系列)
近期几乎看了所有有关NERF技术论文,本身我研究的领域不在深度学习技术方向,是传统的机器人控制和感知。所以总结了下这部分基于学习的感知技术,会写一个新的系列教程讲解这部分三维感知技术的发展到最新的技术细节,并支持自己最近…...
AI与HPC能耗测量与碳估算:从系统到代码的工程实践指南
1. 项目概述:为什么我们需要关注AI与HPC的能耗?如果你和我一样,常年泡在数据中心或者高性能计算集群里,最近几年肯定有一个感受越来越强烈:电费账单和机柜散发的热量,正以前所未有的速度成为项目规划和运维…...
终极资源嗅探指南:猫抓浏览器扩展帮你轻松捕获网页媒体资源
终极资源嗅探指南:猫抓浏览器扩展帮你轻松捕获网页媒体资源 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 在当今数字时代,…...
8051指令集手册获取与开发优化指南
1. 8051指令集手册获取指南作为一名从事嵌入式开发十余年的工程师,我深知指令集手册在单片机开发中的核心地位。对于8051架构开发者而言,准确理解每条指令的机器周期、标志位影响和寻址方式是写出高效代码的基础。本文将系统梳理获取权威8051指令集资源的…...
3D高斯渲染技术原理与Lumina架构优化实践
1. 3D高斯渲染技术原理与挑战3D高斯渲染(3D Gaussian Splatting)作为神经渲染领域的前沿技术,其核心思想是将3D场景表示为一系列带有属性的高斯分布集合。每个高斯点包含位置(μ)、协方差矩阵(Σ࿰…...
可解释机器学习工程化:在端到端ML平台中集成XAI的实践指南
1. 项目概述与核心价值在机器学习项目从实验室走向生产环境的过程中,我们常常面临一个核心矛盾:一方面,复杂的模型(如深度神经网络、集成模型)往往能提供更高的预测精度;另一方面,这些模型内部复…...
AI Agent Harness Engineering:大模型之后的下一个技术爆发点
AI Agent Harness Engineering:大模型之后的下一个技术爆发点一、引言 1.1 钩子:从“大模型的局限性”到“人类解放双手的终极形态” 你是否有过这样的经历? 上周为了赶一份季度数据分析报告,你打开了GPT-4:先让它帮你…...
STIML框架:融合标度理论与机器学习的企业增长预测新范式
1. 项目概述:当标度律遇见机器学习在金融分析和企业研究领域,预测一家公司的未来增长,就像试图预测一艘巨轮在复杂洋流中的航迹。传统上,我们有两类“航海图”:一类是基于物理定律的“机制模型”,它告诉你船…...
WiFi感知技术在智能家居中的原理与应用
1. WiFi感知技术:重新定义智能家居环境感知在智能家居领域,环境感知一直是个技术难题。传统方案主要依赖摄像头、红外传感器(PIR)和毫米波雷达等专用设备,但这些方案要么存在隐私顾虑,要么安装复杂且成本高…...
ArcGIS Pro 3.7 重磅升级!这四大模块更新,让GIS效率翻倍
ArcGIS Pro 3.7 正式发布,这次不仅性能大幅提升,还带来了 GeoAI 工具集、实时等高线、本地知识图谱等一系列“黑科技”。无论你是制图师、空间分析师还是开发者。 01 性能与生产力:更快、更顺、更好找 新增「分析地图」窗格 可量化评估地图的…...
数据标注中的权力博弈与主观性:从规则制定到模型偏见的全链路解析
1. 项目概述:当数据标注不再是“客观”的技术活“数据标注”,在很多人眼里,可能就是一个坐在电脑前,对着图片画框、打标签的“体力活”或“技术活”。它听起来中立、客观,是人工智能模型训练前一道标准化的工序。然而&…...
