首先发现移位后变成两个回文串拼起来了 然后发现没有什么用,因为很容易算重复 我们暂时不考虑移位来看的话,很容易写出
f
i
=
k
⌈
i
/
2
⌉
−
∑
j
∣
i
f
j
f_i=k^{\lceil i/2\rceil}-\sum_{j|i}f_j
fi=k⌈i/2⌉−∑j∣ifj
f
i
f_i
fi 表示最小循环节为
i
i
i 回文串的方案数 然后考虑移位,发现奇数长度会算
l
e
n
len
len 次,偶数是
l
e
n
/
2
len/2
len/2 次 然后就做完了