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

csp信奥赛C++高频考点专项训练之字符串 --【回文字符串】:小洛的字符串分割

csp信奥赛C高频考点专项训练之字符串 --【回文字符串】小洛的字符串分割题目描述对于一个字符串S SS小洛定义它为回文的当且仅当字符串S SS从左往右读和从右往左读一样例如a b c b a \tt abcbaabcba是回文的而a b c c a \tt abccaabcca不是。小洛现在有一个字符串S SS他想将这个字符串分为若干段段长度分别为1 , 2 , 3 , … 1,2,3,\dots1,2,3,…。具体而言他会先将第一个字符拿出来作为字符串S 1 S_1S1​再将第2 , 3 2,32,3个字符拿出来作为S 2 S_2S2​再将第4 , 5 , 6 4,5,64,5,6个字符拿出来作为S 3 S_3S3​以此类推……最后若还有多余的字符则单独作为一段。例如说对于字符串a a a b a b c a a c d \tt aaababcaacdaaababcaacd会被分为如下的五个字符串S 1 a S_1\tt aS1​aS 2 a a S_2\tt aaS2​aaS 3 b a b S_3\tt babS3​babS 4 c a a c S_4\tt caacS4​caacS 5 d S_5\tt dS5​d字符串a a a b a b c a a c d \tt aaababcaacdaaababcaacd分割出的5 55个字符串都是回文的。小洛想要知道对于读入的字符串S SS这些被分割出来的字符串有多少个是回文的呢输入格式输入一行一个字符串S SS。输出格式输出一个整数表示答案。输入输出样例 1输入 1aaababcaacd输出 15输入输出样例 2输入 2abacdcaaba输出 22说明/提示【样例解释】对于第1 11组样例已经在题面中进行表述对于第2 22组样例S 1 a S_1\tt aS1​aS 2 b a S_2\tt baS2​baS 3 c d c S_3\tt cdcS3​cdcS 4 a a b a S_4\tt aabaS4​aaba其中S 1 S_1S1​与S 3 S_3S3​为回文字符串。【数据范围】假定记号∣ S ∣ |S|∣S∣表示字符串S SS的长度。对于10 % 10\%10%的数据字符串至多包含一种字母对于30 % 30\%30%的数据字符串至多包含两种字母对于70 % 70\%70%的数据∣ S ∣ ≤ 1000 |S|\leq 1000∣S∣≤1000对于所有数据1 ≤ ∣ S ∣ ≤ 10 6 1 \leq |S| \leq 10^61≤∣S∣≤106字符串仅包含英语小写字母。思路分析题目要求将字符串S SS按照长度依次为1 , 2 , 3 , … 1,2,3,\dots1,2,3,…的规则顺序分割成若干段最后不足的部分单独成段然后统计这些段中有多少个是回文字符串。解题步骤维护当前段应达到的长度len初始为 1以及当前正在构建的段字符串cur。遍历原字符串S SS的每个字符逐个拼接到cur中。当cur的长度等于len时即达到了当前段的理论长度或者已经遍历到最后一个字符即最后一段可能不足则调用chk函数判断cur是否为回文。如果是回文答案加一。清空cur并将len增加 1准备下一段。输出最终统计的答案。时间复杂度每个字符被拼接一次每个段在判断回文时会复制并反转字符串总字符复制次数等于所有段长度之和即O ( ∣ S ∣ ) O(|S|)O(∣S∣)因此总体复杂度O ( ∣ S ∣ ) O(|S|)O(∣S∣)满足∣ S ∣ ≤ 10 6 |S| \le 10^6∣S∣≤106的要求。空间复杂度除了输入字符串外仅使用了常数个辅助变量和一个临时段字符串cur最坏情况下cur的长度不超过最大段长度约2 ∣ S ∣ \sqrt{2|S|}2∣S∣​可以接受。代码实现#includebits/stdc.husingnamespacestd;// 判断字符串 s 是否为回文使用 reverseboolchk(string s){string ts;// 复制原串reverse(t.begin(),t.end());// 反转returnst;// 比较是否相等}intmain(){string S;cinS;// 读入原始字符串intnS.size(),len1,ans0;// n:长度, len:当前段预期长度, ans:回文段个数string cur;// 当前正在构建的段for(inti0;in;i){// 遍历每个字符curS[i];// 将当前字符拼接到段中// 当段长度达到预期 或 已经到达字符串末尾最后一段if(cur.size()len||in-1){if(chk(cur))ans;// 若是回文则计数cur;// 清空准备下一段len;// 下一段预期长度1}}coutans\n;return0;}功能分析输入处理从标准输入读取一个仅包含小写字母的字符串S SS长度1 ≤ ∣ S ∣ ≤ 10 6 1 \le |S| \le 10^61≤∣S∣≤106。分段逻辑模拟题目描述的“段长度分别为 1,2,3…”的顺序分割过程。使用变量len记录当前段应该达到的长度cur动态拼接当前段的字符。当cur.size() len时表示已收集满当前段立即处理当i n-1时表示剩余字符不足一段则将最后剩余的字符作为一段处理。回文判断自定义chk函数通过复制字符串并反转后与原串比较简洁地判断是否为回文。虽然复制和反转会带来额外开销但由于每个字符只会被复制一次因为每个字符属于唯一一个段总时间复杂度仍为O ( ∣ S ∣ ) O(|S|)O(∣S∣)。输出输出一个整数表示所有分割段中回文字符串的数量。【完整系列请查看专栏】信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}【秘籍汇总】完整csp信奥赛C学习资料1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转https://edu.csdn.net/course/detail/41081 点击跳转3、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转4、csp信奥赛冲刺一等奖有效刷题题解信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C提高组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转5、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}

相关文章:

csp信奥赛C++高频考点专项训练之字符串 --【回文字符串】:小洛的字符串分割

csp信奥赛C高频考点专项训练之字符串 --【回文字符串】:小洛的字符串分割 题目描述 对于一个字符串 SSS,小洛定义它为 回文 的,当且仅当字符串 SSS 从左往右读和从右往左读一样,例如 abcba\tt abcbaabcba 是回文的,而…...

观念的理论逻辑 | 意识、观念与社会

注:本文为 “观念的理论逻辑” 相关合辑。 略作重排,如有内容异常,请看原文。 “意识”怎么变成“意识形态”——寻找消失的“观念” 廖伟凯 (华侨大学哲学与社会发展学院,福建 厦门 361021) 摘要&#x…...

轻量级Web框架fob:高性能路由与中间件核心设计解析

1. 项目概述:一个轻量级、高性能的Web框架在Web开发的世界里,框架的选择往往决定了项目的开发效率、维护成本和最终的性能表现。对于追求极致性能、简洁设计和高度可控性的开发者来说,主流的全栈框架有时会显得过于“臃肿”,而底层…...

开源OpenAI用量查询工具部署指南:实现API成本透明化管理

1. 项目概述与核心价值 最近在折腾OpenAI API的时候,发现一个挺实际的需求:怎么方便地查自己API Key的余额和用量明细?官方Dashboard虽然功能全,但有时候就想快速看一眼,或者团队里几个人共用一个额度池,想…...

应对高并发场景Taotoken的稳定性与路由策略实践

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 应对高并发场景Taotoken的稳定性与路由策略实践 1. 高并发AI服务面临的挑战 在构建依赖大模型API的应用程序时,工程团…...

三线制PT100测温,采集到的V5和V6电压怎么算温度?一个公式搞定

三线制PT100测温:从电压采集到温度计算的工程实践 在工业温度测量领域,铂电阻PT100因其出色的稳定性和较宽的测温范围(-200℃~850℃)成为中高温测量的首选。不同于常见的两线制接法,三线制PT100通过增加一条导线有效补偿了线路电阻带来的误差…...

GD32F103实战指南:EXTI外部中断配置与按键响应优化

1. EXTI外部中断基础概念与GD32F103特性 外部中断(EXTI)是嵌入式系统中实现实时响应的关键机制。GD32F103作为Cortex-M3内核的国产MCU代表,其EXTI控制器具有20个独立的中断/事件线,支持三种触发方式:上升沿、下降沿以及…...

GNS3项目保存与配置恢复实操指南:别让你的VLAN实验白做了

GNS3实验配置持久化全攻略:从VLAN到多设备协同的完整工作流 每次在GNS3中完成复杂的VLAN配置后,你是否经历过重启软件时所有配置瞬间归零的崩溃?那些精心调试的路由器ACL规则、交换机端口划分和VPCS的IP设置,难道只能成为一次性实…...

短剧低成本创业方案|轻量化H5+小程序组合,零压力快速启动项目

一、前言 现在短剧行业内卷严重,很多新手盲目投入资金开发APP、购买高价版权、大额投放流量,最后成本回不来、项目烂尾。对于普通创业者、小型流量工作室来说,重资产、高成本、长周期的模式早已不适合入局。 真正适合新手的玩法&#xff0c…...

Verdi Debug Mode避坑指南:解决Transaction采集不全、VIP协议分析的那些‘坑’

Verdi Debug Mode深度排障手册:从Transaction采集到VIP协议分析的实战避坑指南 在芯片验证的复杂战场上,Verdi的Debug Mode就像一把瑞士军刀——功能强大但需要精准操作。当你在凌晨三点盯着FSDB文件中缺失的Transaction数据,或是面对SNPS VI…...

UE5.1材质AO通道填错了?详解“关闭允许静态光照后模型变黑”的材质陷阱

UE5.1材质AO通道填错引发的"模型变黑"问题深度解析 当你在UE5.1中关闭"允许静态光照"准备拥抱Lumen的动态光照魅力时,突然发现精心制作的模型变成了一团黑影——这不是引擎故障,而是材质系统中一个容易被忽视的"环境光遮蔽&…...

STM32H743实战:用CubeMX给高级定时器TIM1配置互补PWM,死区和刹车功能怎么加?

STM32H743高级定时器TIM1互补PWM全流程实战:从CubeMX配置到电机控制应用 在电机驱动和数字电源设计中,互补PWM信号配合死区保护和刹车功能是确保系统可靠运行的核心技术。本文将基于STM32H743芯片,通过CubeMX工具完整演示高级定时器TIM1的配置…...

告别龟速!为树莓派4B挑选高速TF卡并优化烧写流程的实战心得

告别龟速!为树莓派4B挑选高速TF卡并优化烧写流程的实战心得 树莓派4B作为一款性能强劲的单板计算机,其运行速度却常常受限于存储介质的选择和系统烧写流程的优化。许多开发者在使用过程中会遇到系统启动缓慢、软件安装卡顿、IO操作延迟高等问题&#xff…...

LabVIEW调用海康VisionMaster 4.2 SDK避坑指南:从‘加载程序集错误’到完美运行的完整流程

LabVIEW与海康VisionMaster 4.2深度集成实战:从程序集加载异常到工业级视觉方案部署 当LabVIEW的图形化编程能力遇上海康VisionMaster的机器视觉算法库,本应碰撞出高效开发的火花,但许多工程师在首次集成VM4.2 SDK时,往往被突如其…...

企业内训系统集成AI助教时如何通过Taotoken实现高可用

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业内训系统集成AI助教时如何通过Taotoken实现高可用 当企业将AI助教功能集成到内部培训系统时,服务的连续性和响应能…...

用户研究技能体系化:从方法到实践,打造高效产品决策

1. 项目概述:从“用户研究”到“用户研究技能”的体系化跃迁最近在和一些产品经理、设计师朋友聊天时,发现一个挺有意思的现象:大家嘴上都说“用户研究很重要”,但真到了项目里,要么是没时间做,要么是做了感…...

电解电容储存寿命解析:失效机理、评估方法与激活技术

1. 项目概述:一个被忽视的“保质期”问题“电解电容放多久会坏?”这个问题,乍一听像是电子爱好者仓库角落里的一次闲聊,或者维修师傅面对一堆旧板卡时的嘀咕。但在我十多年的硬件设计、生产管理和失效分析经历里,这个问…...

STL文件可视化革命:stl-thumb技术解析与实践指南

STL文件可视化革命:stl-thumb技术解析与实践指南 【免费下载链接】stl-thumb Thumbnail generator for STL files 项目地址: https://gitcode.com/gh_mirrors/st/stl-thumb 在3D打印和计算机辅助设计的日常工作中,设计师和工程师们面临着一个共同…...

嵌入式AI节点通信:为何CAN总线成为实时协同的可靠神经网络

1. 嵌入式AI浪潮下的通信新挑战最近几年,一个趋势越来越明显:AI正在从云端的大型数据中心“下沉”,直接跑在了我们身边的摄像头、机器人、无人机甚至一个小小的传感器里。这就是嵌入式AI,它让设备自己就能看、能听、能思考、能决策…...

使用TaotokenCLI工具一键配置团队统一的模型调用环境

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用TaotokenCLI工具一键配置团队统一的模型调用环境 在团队协作开发中,确保每位成员使用统一的大模型接入配置&#x…...

Audiveris终极指南:10分钟快速掌握开源乐谱识别技术

Audiveris终极指南:10分钟快速掌握开源乐谱识别技术 【免费下载链接】audiveris Latest generation of Audiveris OMR engine 项目地址: https://gitcode.com/gh_mirrors/au/audiveris 还在为纸质乐谱难以数字化而烦恼吗?Audiveris作为一款功能强…...

2026最权威的十大AI辅助论文网站推荐

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于毕业论文撰写周期那期间,合理借助 AI 工具用以辅助写作这一行为,能…...

Adafruit Metro M7与CircuitPython:高性能嵌入式开发的快速原型利器

1. 项目概述:为什么选择Metro M7与CircuitPython? 在嵌入式开发的世界里,我们常常面临一个核心矛盾:对性能的极致追求与开发效率的难以兼得。传统的C/C开发虽然能榨干硬件的每一分性能,但其陡峭的学习曲线、复杂的编译…...

2026届必备的十大AI科研方案推荐榜单

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek AI论文工具能够覆盖学术创作的全部流程环节,给研究者以及学生给予结构化的文献梳…...

泛微OA检测工具-WeaverScan(三)

泛微oa漏洞利用工具 项目地址 https://github.com/TD0U/WeaverScan WeaverScan 泛微漏洞利用工具 用go造了个轮子 漏洞检测 不指定漏洞Id 自动检测所有漏洞 WeaverScan.exe scan -u http://127.0.0.1指定Id WeaverScan.exe scan -u http://127.0.0.1 -i Wc11漏洞利用…...

Adafruit眼球动画系统:JSON配置与Arduino开发全解析

1. 项目概述与核心思路如果你玩过Adafruit的M4SK或者HalloWing M4,肯定会被它们那双活灵活现的“眼睛”吸引。这可不是简单的两个OLED屏幕在播放GIF,而是一套完整的、基于物理模拟和纹理映射的实时眼球动画系统。它的核心秘密,就藏在一个看似…...

【NotebookLM知识库效能跃迁公式】:RAG精度↑42%、响应延迟↓68%、人工维护成本↓91%,附可复用的评估仪表盘模板

更多请点击: https://intelliparadigm.com 第一章:NotebookLM企业知识库搭建 NotebookLM 是 Google 推出的基于用户自有文档的 AI 助手,专为知识沉淀与智能问答设计。在企业场景中,将其对接内部文档、API 规范、会议纪要与 SOP 流…...

通过Taotoken为OpenClaw智能体工作流配置AI模型服务

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken为OpenClaw智能体工作流配置AI模型服务 OpenClaw是一个功能强大的智能体框架,它允许开发者构建和编排复杂…...

2026技术蓝图:3大架构革新重塑跨平台视觉自动化

2026技术蓝图:3大架构革新重塑跨平台视觉自动化 【免费下载链接】midscene AI-powered, vision-driven UI automation for every platform. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 跨平台视觉语言模型驱动的分布式执行引擎与联邦学习框…...

探索Kubescape:您的开源Kubernetes安全平台

探索Kubescape:您的开源Kubernetes安全平台 【免费下载链接】kubescape Kubescape is an open-source Kubernetes security platform for your IDE, CI/CD pipelines, and clusters. It includes risk analysis, security, compliance, and misconfiguration scanni…...