题面:
题意:
给定一个字符串,把字符串分为偶数段,假设分为了 k k k段,那么需要满足 s 1 = s k , s 2 = s k − 1 . . . s_1=s_k,s2=s_{k-1}... s1=sk,s2=sk−1...。
求符合要求的划分的方案数。
题解:
我们假设原串为 S S S,长度为 n n n
假设现在有两段 s i , s k − i + 1 s_i,s_{k-i+1} si,sk−i+1,其中 s i = s k − i + 1 = x 1 x 2 . . . x j s_i=s_{k-i+1}=x_1x_2...x_j si=sk−i+1=x1x2...xj。
假设 S i S_i Si的起始位置为 p p p,那么有:
s i = S [ p ] S [ p + 1 ] . . . S [ p + j − 1 ] s_i=S[p]S[p+1]...S[p+j-1] si=S[p]S[p+1]...S[p+j−1]
s k − i + 1 = S [ n − j − p + 2 ] S [ n − j − p + 2 ] . . . S [ n − p + 1 ] s_{k-i+1}=S[n-j-p+2]S[n-j-p+2]...S[n-p+1] sk−i+1=S[n−j−p+2]S[n−j−p+2]...S[n−p+1]。
对应相等关系即: S [ p ] = S [ n − p − j + 2 ] S[p]=S[n-p-j+2] S[p]=S[n−p−j+2]
我们令 p = 1 p=1 p=1,那么有 S [ 1 ] = S [ n − j + 1 ] S[1]=S[n-j+1] S[1]=S[n−j+1]
那么假设我们现在有一个串 T T T,