URAL-1960.Palindromes and Super Abilities
•题意
给你一个长度为 n 的字符串 s,下标从 1 开始;
输出 n 个数,第 i 个数表示 1~i 内有多少个本质不同的回文串;
•题解
回文自动机入门题;
定义 ans[ i ] 表示 1~i 共有 $ans_{i}$ 个本质不同的回文串;
$ans_{i}=ans_{i-1}$+{第 i 个字符可形成本质不同的回文串 ? 1:0};
•Code
BZOJ-2565.最长双回文串
•题目描述
View Code问题描述: 顺序和逆序读起来完全一样的串叫做回文串。 比如acbca是回文串,而abc不是(abc的顺序为“abc”,逆序为“cba”,不相同)。 输入长度为n的串S,求S的最长双回文子串T; 即可将T分为两部分X,Y,(|X|,|Y|≥1)且X和Y都是回文串。 输入格式 一行由小写英文字母组成的字符串S。 输出格式 一行一个整数,表示最长双回文子串的长度。 样例输入 baacaabbacabb 样例输出 12 样例说明 从第二个字符开始的字符串aacaabbacabb可分为aacaa与bbacabb两部分,且两者都是回文串。 数据规模及限制 对于10%的数据,2≤|S|≤103。 对于30%的数据,2≤|S|≤104。 对于100%的数据,2≤|S|≤105。 时间限制:2秒