题解 3154: 蓝桥杯2023年第十四届省赛真题-子串简写

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

c++ 用string内置函数

摘要:解题思路:先扫一遍,把c1的下标存入vector数组,然后再从后往前扫一遍,当找到c2,并且c2的下标i>=k-1(保证字符串有那么长)时,用string的成员函数rfind从c2往左找第一个c1,再……

暴力写法优化

摘要:解题思路:注意事项:参考代码:#include <bits/stdc++.h>using namespace std;int main(){ long re=0; ……

时间复杂度最低方法

摘要:解题思路:1.直接暴力遍历出c1,c2的位置数组,以及c1,c2的数量。2.遍历c1,c2数组,用双循环,每一个c1第一次匹配成功c2后边的c2是一定可以匹配这个c1的,时记录该c2的位置,并且下一个……

蓝桥杯2023年第十四届省赛真题-子串简写

摘要:解题思路:分别记录首字母和尾字母出现的位置,然后遍历数组得出结果。注意事项:降低时间复杂度,不走回头路,时间复杂度由O(n2)降为O(n)。参考代码:#include<stdio.h……

二分法求解

摘要:解题思路:首先字符串是s,两个连接字符是c1和c2而我们可以发现对于每个c1都会有一个c2(下标记为pos)可以使得pos之后的字符串都能满足条件,发现了没有很像二分的思路,先用a,b数组保存c1,c……

子串简写的两种解题思路:1:前缀和O(n);2:双指针O(n)

摘要:解题思路:对于前缀和,我们用L和R表示字符串的左端点和右端点;我们用一个前缀和数组s[N]来维护a出现的次数,表示在第i位之前有多少个a。处理完后直接将字符串从后往前枚举,如果找到一个b,则可以匹配前……

第十四届省赛真题-子串简写踩坑记录

摘要:坑真的很多,最开始是用两个for嵌套用暴搜然后超时了,改了这种方法,一踩一个坑。先全部找出C1C2的位置并且记录数量,用C1的位置比对C2的位置,找到C1位置+K-1大于大于C2位置的时候,就把往后的……