测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A11628. Palindrome Partition

编程题 普及/提高-

题目描述

Given a string $s$ , find the number of ways to split $s$ to substrings such that if there are $k$ substrings $(p_{1},p_{2},p_{3},...,p_{k})$ in partition, then $p_{i}=p_{k-i+1}$ for all $i$ $(1<=i<=k)$ and $k$ is even.

Since the number of ways can be large, print it modulo $10^{9}+7$ .

输入格式

The only line of input contains a string $s$ $(2<=|s|<=10^{6})$ of even length consisting of lowercase Latin letters.

输出格式

Print one integer, the number of ways of partitioning the string modulo $10^{9}+7$ .

输入输出样例

输入 #1
abcdcdab
输出 #1
1
输入 #2
abbababababbab
输出 #2
3

说明/提示

In the first case, the only way to partition the string is $ab|cd|cd|ab$ .

In the second case, the string can be partitioned as $ab|b|ab|ab|ab|ab|b|ab$ or $ab|b|abab|abab|b|ab$ or $abbab|ab|ab|abbab$ .
上一题 去做题 下一题