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

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

筛选

LikeWater - 1826: 蓝桥杯2015年第六届真题-切开字符串(时间紧任务重,就不写很详细了,用了set容器去重)

##set容器简介如下:###set容器基本概念**1、简介:所有元素都会在插入时所有元素都会在插入时自动被排序(自动去重/可重复插不报错但是去重了,默认从小到大排)****2、本质:set/multiset属于关联式容器,底层结构是用二叉树实现****3、set和multiset区别set不允许容器

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

整体思路就是用两个数组储存每个点前正回文的个数和点后非正回文的个数,然后两个数组对应位相乘求最大值```pythonn=input()st=input()re=[]#第0位储存第1个字母及前正回文数,第1位储存第2个字母及前正回文数not_re=[]##第0位储存除了第1个字母后的字母有多少个非正回文

蓝桥杯2015年第六届真题-切开字符串-题解(C++代码)使用set进行去重

####注意事项:坑点一:后半段的非正回文子串是包括除正回文子串以外的所有情况也就是说**非正回文子串包含**:*不是回文*是回文但它的长度为偶数坑点二:前一段中有A个**不相同**的正回文子串,后一段中有B个**不相同**的非正回文子串**注意是不相同**。

蓝桥杯2015年第六届真题-切开字符串 (C++代码)---substr的简单枚举和map去重

解题思路:1.先枚举前后串的分割情况,每枚举出一种情况就分别对前串和后串进行处理2.处理过程:计算前串的子串正回文个数,计算后串的子串不是正回文的个数(注意:后串的子串只要不符合正回文都算一种情况,即它可以是非回文,可以是偶数长度回文。处理的时候我们只需要用一个check函数检测是不是正回文,

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

思路:正回文子串是长度为奇数的回文子串,它的条件有两个,一是字符串必须是回文串,二是长度为奇数。非正回文子串,也有两种情况,一是根本不是回文串,二是长度为偶数的回文串。从左到右遍历,记录下每个位置的正回文子串的个数从右到左遍历,记录每个位置的非正回文子串的个数用两个数组分别记录每个位置的正回文子串和非

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

注意事项:看了个题解兄弟恍然大悟,我也理解错了,后串不是要偶数串,随便什么串都行,仅仅是非奇数回文,然后思路就是string的substr切割,set除从,输出最大长度就行。参考代码:#includeusingnamespacestd;boolfx(stringa){in

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

1.正回文子串:奇数,且回文数;2.非正回文子串:偶数的回文子串,或不是回文子串;3.整体把握:在for循环的状态下,首先将字符串s利用substr()分割两个子字符串a,b;a作为前串需求解其正回文子串个数,b作为后串求解其非正回文子串;然后分别将a字符串分割成各个字符串,