当前位置: 首页 > news >正文

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

题解: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.hskmm.com/?act=detail&tid=39620

相关文章:

  • 郭念海 - coder
  • 数据采集与融合技术实践第一次作业
  • ECC 学习笔记
  • 转化漏斗(随笔)
  • Halcon算法——区域生长
  • Windows11文件夹右键-删除多余选项-加快打开速度
  • 20231326《密码系统设计》第五周预习报告
  • 2025年实木家具厂家权威推荐榜:原木/全实木/北美黑胡桃/樱桃木/榫卯工艺/高端定制/全屋整装,烘干/白胚/木蜡油保养工艺深度解析
  • 2025年摘星搜荐怎么样:全面评测摘星AI的功能与优势
  • 实验 2
  • 2025 年 10 月系统门窗十大品牌榜单揭晓,技术研发实力与市场口碑深度解读
  • 【安卓】
  • 2025年TPU厂家权威推荐榜单:TPU加纤,TPU改性生产,专业定制与技术创新实力解析
  • 2025 年 10 月系统门窗十大品牌榜单揭晓,技术核心实力与市场口碑深度解读
  • 【万元奖金】第二届CCF算法能力大赛开始啦!名校云集、名企汇聚,免费参赛!
  • 切空间、切丛与收缩算子
  • 2025年仿石漆厂家推荐排行榜,外墙仿石漆,内墙仿石漆,防霉仿石漆,水包水仿石漆,水包砂仿石漆,耐污仿石漆,自洁仿石漆公司推荐
  • 2025年中央空调主机保养/维修/清洗/维保/维护公司推荐排行榜,水处理维保,物业公司/医院/写字楼/商场中央空调主机维保厂家精选
  • 变盲从为探索:专注听课,深耕实干
  • 2025年新风系统厂家权威推荐榜:电竞酒店/商场别墅/极寒地区全热交换新风系统专业解决方案
  • 2025 年 10 月系统门窗十大品牌榜单揭晓,技术研发实力与市场口碑全景剖析
  • 乱学点东西#1 :二进制警报器
  • 变盲从为探索:专注听课,深耕实操
  • 认真听讲,重新看见课堂价值
  • VMware 25H2安装完Kubuntu 25.10后的设置
  • Chapter-1 Memory Management (section 1.1-1.5)
  • 完整教程:在线教程丨百倍提速,中科院团队发布首个国产类脑脉冲大模型SpikingBrain-1.0,推理效率数量级提升
  • 10/26/2025 一周总结
  • 2025年饮料包装设备厂家权威推荐榜:缠膜机/吹瓶机/膜包机/杀菌机/水处理/套标机/贴标机/洗瓶机/卸垛机/旋盖机/液氮机/装箱机/灌装生产线专业解析
  • 【API接口】最新可用抖音搜索接口