题意: 已知26个小写字母有各自的权值(正,负,或0) 现在给出一个字符串,长度<=1e5 问这个字符串有多少个子串满足: 开头的字母和结尾的字母一样 字符串除了开头和结尾的字母外,其余的字母的权值和为0 本来是一道水题,一看就知道大体的思路了,结果硬是搞了一个多小时 先是用set,发现超时了,改为用map 思路: 1.我们先预处理这个字符串的权值的前缀和 sum[i]表示从字符串的起点到i的权值和 2.我们要找到的子串,设以l开头和r结尾,则有 str[r] == str[l] 和 sum[r…