CSP-J 2026 第二轮入门组真题解析(第二题
- 2026-11-01 15:42:52
CSP-J 2026 第二轮入门组真题解析(第二题
CSP-J 2026 第二轮入门组真题解析(第二题
今年 CSP-J 入门组第二题,表面是改回文串,其实考的是怎么处理巨长的数据。
题目给的字符串不是直接展开的,而是按“长度+字符”分段压缩。比如 2 a、2 b、1 c,拼出来就是 aabbc。任务很简单:让左右镜像对称,最少要改几个字?
最直观的办法是两头往中间比。aabbc 里,a 对 c 改一个,a 对 b 改一个,答案就是 2。核心规律就一句:镜像位置字符不同,就得改其中一个。
但难点在数据量——某一段的长度能到十亿。真把十亿个字符存进数组,内存直接爆掉。所以不能真的把字符串造出来,得让两个指针从左右两端往中间走。
每次只比较当前两段。左边剩 3 个 a,右边剩 5 个 b,就一次处理 3 对,发现字符不同直接加 3。哪段用完了,指针就往里挪一格。
因为总长度可能超过 int 上限,计数变量必须开 long long。这套“双指针+按段处理”的思路,遇到连续重复数据的题都能套。
原文CSP-J 2026 第二轮入门组真题解析(第二题 、回文串(string))
山东,3小时前,
本文来自网友投稿或网络内容,如有侵犯您的权益请联系我们删除,联系邮箱:wyl860211@qq.com 。