题解 1826: 蓝桥杯2015年第六届真题-切开字符串

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

筛选

蓝桥杯2015年第六届真题-切开字符串-题解(C++代码)

###解题思路:先从左往右处理出下标i前的正回文子串数量,再从右往左处理出下标i后的非正回文子串的数量,最后两个数组相乘就得处答案。###PS:非正回文子串分两种:1、长度为偶数的子串;2、长度为奇数的非回文子串```cpp#include#definexfirst#defineysecond#def

蓝桥杯2015年第六届真题-切开字符串-题解(C++代码)

解题思路:先扫描一遍字符串中包含的正回文字符串和非正回文字符串,使用map存储来实现字符串去重。每个正回文字符串标记出子字符串末尾所在的位置,存在重复只需保留最靠近左边的字符串每个非正回文字符串标记出子字符串起始所在位置,存在重复只需保留最靠近右边的字符串(map中用负数值表示)标记后将子字符串位置与