CF932G Palindrome Partition
题目描述
给定一个字符串 $s$,请你计算有多少种方式可以将 $s$ 分割成若干子串,使得如果分割后有 $k$ 个子串 $(p_{1},p_{2},p_{3},...,p_{k})$,那么对于所有的 $i$ 满足 $1 \leq i \leq k$,都有 $p_{i} = p_{k-i+1}$,并且 $k$ 是偶数。
由于方案数可能很大,请输出方案数对 $10^{9}+7$ 取模的结果。
输入格式
输入仅一行,一个字符串 $s$,$2 \leq |s| \leq 10^{6}$,保证字符串长度为偶数,且只包含小写拉丁字母。
输出格式
输出一个整数,表示分割字符串的方案数,对 $10^{9}+7$ 取模。
说明/提示
在第一个样例中,唯一的分割方式是 $ab|cd|cd|ab$。
在第二个样例中,字符串可以分割为 $ab|b|ab|ab|ab|ab|b|ab$,或者 $ab|b|abab|abab|b|ab$,或者 $abbab|ab|ab|abbab$。
由 ChatGPT 4.1 翻译