题解:B4205 [常州市赛 2021] 特殊字符

news/2025/10/26 21:16:35/文章来源:https://www.cnblogs.com/fjx140813/p/19167418

题解:B4205 [常州市赛 2021] 特殊字符

前言

题目传送门

思路分析

因为数据范围较大,所以直接暴力构建字符串不仅仅会超时,还会爆空间,所以我们考虑模拟、跳过构建字符串,直接给出答案

我们对于每个特殊字符,从左向右遍历字符串:

  • 若遇到一段连续的特殊字符,我们则提取出需要复制的后续字符串
  • 特殊地处理一下子这串后续字符串,重复次数为连续特殊字符的数量
  • 接着继续判断
    • 如果第 \(K\) 个字符不落在这个范围内,正常推进即可
    • 如果答案落在这个范围内,直接判断并输出
  • 如果没有遍历到特殊字符,就正常推进

code

#include <bits/stdc++.h>
#define int long long     // 不开longlong见祖宗
using namespace std;
int n, k;
string s;
signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);cin >> n >> k;cin >> s;// 输入// 遍历26个小写字母,检查每个字母作为特殊字符的情况for (char c = 'a'; c <= 'z'; c++){int cnt = k;    // cnt: 当前还需要查找的字符位置(初始化为k)int num = 0;    // num: 记录连续出现的特殊字符c的数量// 遍历字符串的每个字符(包括结尾后一位(i<=n)for (int i = 0; i <= n; i++){if (s[i] == c)  // 如果当前字符是特殊字符c{num++;      // 连续特殊字符计数+1}else            // 如果当前字符不是特殊字符c{if (num)    // 如果之前有连续的特殊字符c{// sum: 计算复制次数,取num和剩余字符数(n-i)的最小值int sum = min(num, n - i);// 如果剩余的查找位置足够大,跳过这段被复制的字符不影响结果if (cnt > sum * num) {cnt -= sum * num;  // 减少cnti += sum - 1;     // 跳过被复制的字符num = 0;          // 重置连续特殊字符计数}else   // 剩余的查找位置在当前复制段内{cnt %= sum;       // 计算在该段中的位置if (!cnt) cnt = sum;  // 如果余数为0,取sum// 输出该段中的第cnt个字符cout << s[i + cnt - 1];cnt = num = 0;    // 重置break;            // 结束当前字符的处理}}else if (i != n)  // 如果没有连续的特殊字符且未到字符串末尾{cnt--;        // 直接消耗一个查找位置if (cnt == 0) // 如果找到第k个字符{cout << s[i];  // 输出当前字符break;         // 结束当前字符的处理}}}}if (cnt) cout << "*";  // 如果遍历完字符串仍未找到第k个字符,输出*}return 0;
}

时空复杂度分析

时间复杂度为循环次数相乘:

\[O(26\times n) \]

空间复杂度仅仅是输入的字符串 \(s\)

\[O(n) \]

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

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

相关文章

郭念海 - coder

郭念海(1891年-1931年),男,湖北省麻城市乘马岗人。 生前为乡农协会员,于1928年参加革命活动,1931年在肃反中被杀害,1987年10月1日给予平反昭雪。 恐惧源于无知,代码改变世界

软考五

软考五Posted on 2025-10-26 21:10 心默默言 阅读(0) 评论(0) 收藏 举报1. 计算机网络的分类

ECC 学习笔记

0. 前置知识 给定集合 \(S\) 和运算 \(\circ\),若 \(\circ\) 对 \(S\) 封闭,且有单位元(\(a \circ e = a\))、逆元(\(a \circ a^{-1} = e\))、结合律、交换律,则称 \(S\) 对 \(\circ\) 构成 Abelian 群。一个大…

[TOOL] Node.js: JavaScript运行环境安装

[TOOL] Node.js: JavaScript运行环境安装$(".postTitle2").removeClass("postTitle2").addClass("singleposttitle");官方文档:https://nodejs.org/en/docs/ Grok生成(2025年10月26日…

转化漏斗(随笔)

背景介绍 该项目是一个用于广告平台投流的WEB项目,用户路径相对清晰,对于转化漏斗来说是一个很好的入门实战项目。备注:本文中的数据已经经过修改和混淆 数据分析目标 核心指标:新增ROI>1 数据指标拆解 用户的行为…

20231326《密码系统设计》第五周预习报告

20231326《密码系统设计》第五周预习报告 目录20231326《密码系统设计》第五周预习报告学习内容《Windows C/C++加密解密实战》第 9 章AI对学习内容的总结1. CSP(Cryptographic Service Provider)2. CryptoAPI 简明概…

2025年实木家具厂家权威推荐榜:原木/全实木/北美黑胡桃/樱桃木/榫卯工艺/高端定制/全屋整装,烘干/白胚/木蜡油保养工艺深度解析

2025年实木家具厂家权威推荐榜:原木/全实木/北美黑胡桃/樱桃木/榫卯工艺/高端定制/全屋整装,烘干/白胚/木蜡油保养工艺深度解析 实木家具作为家居领域的高端品类,其价值不仅体现在材质本身,更在于工艺传承与技术创…

2025年摘星搜荐怎么样:全面评测摘星AI的功能与优势

文章摘要 本文深入分析2025年摘星搜荐(摘星AI)的核心功能、优势、用户评价及未来趋势,帮助用户了解这款人工智能工具的性价比和市场需求。基于真实数据和用户反馈,突出摘星AI在AI领域的先进性和易用性,为决策者提…

2025年工业清洗剂厂家推荐排行榜,水洗/水基/碳氢/铝材/超声波/金属/真空/除油/防锈清洗剂源头厂家精选

2025年工业清洗剂厂家推荐排行榜,水洗/水基/碳氢/铝材/超声波/金属/真空/除油/防锈清洗剂源头厂家精选 随着制造业向高质量、绿色化方向转型升级,工业清洗剂作为生产过程中不可或缺的辅助材料,其技术水平和环保性能…

GoroSort

水讨论区水到这么一道题P13364 一道得出结论并不困难的 Ad-hoc,不过证明还挺困难的 题意:给定一个排列,每次可以选择任意一个子集随机重排,求最优方案下,将排列变为有序的期望操作次数。 充分发扬人类智慧,每次选…

Windows11文件夹右键-删除多余选项-加快打开速度

前言全局说明右键上常用的快捷键很方便,但是有些软件随意添加的右键选项,导致右键菜单变长后,加载还慢,用着不方便。这里就手动删除修改注册表,可能会导致系统无法启动或其他问题,请慎重操作 !!! 修改注册表,…

2025年店铺装修设计施工一体化服务推荐榜:覆盖服装店/餐厅/商场/健身房/美容院等全行业专业装修公司精选

2025年店铺装修设计施工一体化服务推荐榜:覆盖服装店/餐厅/商场/健身房/美容院等全行业专业装修公司精选 在商业空间竞争日益激烈的今天,店铺装修已不再是简单的美化工程,而是直接影响品牌形象、顾客体验和经营效益…

于听讲中积淀,在实践中成长

读罢三篇关于学习方法的文章,我对“如何有效提升自我”有了清晰认知:认真听讲是能力筑基的起点,“做中学”的刻意实践是能力进阶的关键,二者结合方能实现高效成长。 Scalers在文中打破了我对“听讲”的认知误区——…

应用安全 --- xx_vm 插件

应用安全 --- xx_vm 插件https://wwzb.lanzouw.com/iACcA39faara

2025 年 10 月系统门窗十大品牌榜单揭晓,技术研发实力与市场口碑深度解读

2025 年 10 月系统门窗十大品牌榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,本次评选突破传统单一性能评价模式,构建 “技术研发实力 + 市场口碑” 双维度综合评估体系。技术维度以《铝合金门窗》…

2025年TPU厂家权威推荐榜单:TPU加纤,TPU改性生产,专业定制与技术创新实力解析

2025年TPU厂家权威推荐榜单:TPU加纤,TPU改性生产,专业定制与技术创新实力解析 热塑性聚氨酯弹性体(TPU)作为高分子材料领域的重要分支,近年来在工业应用中的需求持续增长。随着汽车轻量化、智能穿戴设备、医疗器…

医疗智能体的工艺演进与路径分析:从多模态大模型到高阶综合智能体

医疗智能体的工艺演进与路径分析:从多模态大模型到高阶综合智能体2025-10-26 20:47 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

2025 年 10 月系统门窗十大品牌榜单揭晓,技术核心实力与市场口碑深度解读

2025 年 10 月系统门窗十大品牌榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,本次评选突破传统单一性能评价框架,构建 “技术核心实力 + 市场口碑” 双维度综合评估体系。技术维度以《铝合金门窗》…

【安卓】

解决办法: 1、创建完客户端client之后,设置一下setIoServiceFactoryFactory, 设置时,填入自定义的setExecutorServiceFactory,代码如下。 2、自定义线程工厂,继承SshdThreadFactory,拿到线程对象后,设置一下se…