题解 2572: 蓝桥杯2020年第十一届省赛真题-子串分值

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

筛选

子串分值复杂解法

摘要:解题思路:注意事项:参考代码:#include<bits/stdc++.h>#include<string>using namespace std;int leftbound[100000];int ……

子串分值-暴力必超时

```cpp记录每个位置所对应的字符的之前和之后出现的位置,两者相乘则是该位置的字符的贡献,依次相加即可#includeusingnamespacestd;constintmaxn=1e5+5;typedeflonglongll;chars[maxn];intvis[maxn];intL[maxn],

复杂度O(n)版题解

摘要:解题思路:主要利用前缀和思想,一部分值要减掉,一部分值要加上。注意事项:参考代码:#include <bits/stdc++.h>using namespace std;int m[27][3];//……

贡献值解法

摘要:以cabcdec为例讨论中间的c的贡献值含中间c的子串有abc          abcdabcdebcbcdbcdeccdcde假设前面的c为l,中间的c为p,后面的c为r,中间的c的贡献值就为 (……

子串分值(贡献分析法)

解题思路:贡献法:前面的a为l,中间的a为p,后面的a为r,中间的a的贡献值就为(p-l)*(r-p)如果前面没有a,则l=0;若末尾没有a,则r=n+1;如:0abcabca第一个a的下标为1,中间a的下表为4,后面a的下标为7,则中间a的贡献值为(4-1)*(7-4)=9;对于中间的字符a,