简单易懂思路:用abb中第一个出现的b来考虑,一个字符作为第一b能产生的abb字符,等于它后面相同的字符数量(意味着还能凑成多少个bb)乘以它前面与它不相同的字符数量(可以被当作a的)。于是先记录每一个字符总出现的次数。然后再遍历字符串记录每个字符已经出现的次数和后面还没出现的次数。 #include <iostream> #include <vector> #include <unordered_map> using namespace std; int main(){ int n;cin>>n; string str;ci...