luogu#B3997. [洛谷 202406GESP 模拟 三级] 小洛的字符串分割

[洛谷 202406GESP 模拟 三级] 小洛的字符串分割

题目描述

对于一个字符串 SS,小洛定义它为 回文 的,当且仅当字符串 SS 从左往右读和从右往左读一样,例如 abcba\tt abcba 是回文的,而 abcca\tt abcca 不是。

小洛现在有一个字符串 SS,他想将这个字符串分为若干段,段长度分别为 1,2,3,1,2,3,\dots。具体而言,他会先将第一个字符拿出来作为字符串 S1S_1,再将第 2,32,3 个字符拿出来作为 S2S_2,再将第 4,5,64,5,6 个字符拿出来作为 S3S_3,以此类推……最后若还有多余的字符,则单独作为一段。

例如说,对于字符串 aaababcaacd\tt aaababcaacd,会被分为如下的五个字符串:

  • S1=aS_1=\tt a
  • S2=aaS_2=\tt aa
  • S3=babS_3=\tt bab
  • S4=caacS_4=\tt caac
  • S5=dS_5=\tt d

字符串 aaababcaacd\tt aaababcaacd 分割出的 55 个字符串都是回文的。

小洛想要知道,对于读入的字符串 SS,这些被分割出来的字符串,有多少个是回文的呢?

输入格式

输入一行,一个字符串 SS

输出格式

输出一个整数,表示答案。

aaababcaacd
5
abacdcaaba
2

提示

【样例解释】

  • 对于第 11 组样例,已经在题面中进行表述;
  • 对于第 22 组样例,S1=aS_1=\tt aS2=baS_2=\tt baS3=cdcS_3=\tt cdcS4=aabaS_4=\tt aaba,其中 S1S_1S3S_3 为回文字符串。

【数据范围】

假定记号 S|S| 表示字符串 SS 的长度。

  • 对于 10%10\% 的数据,字符串至多包含一种字母;
  • 对于 30%30\% 的数据,字符串至多包含两种字母;
  • 对于 70%70\% 的数据,S1000|S|\leq 1000
  • 对于所有数据,1S1061 \leq |S| \leq 10^6,字符串仅包含英语小写字母。