比较好的题。
首先你考虑一个回文串,什么时候会循环的时候重复计算。当且仅当其有一个最小循环节 \(t\),移动 \(t\) 次后就会相同。
我们要将这种东西给减掉,同样的,这种贡献我们可以在计算长度 \(\le n\) 的回文串时加上。
具体就是减去它所有因数的 DP 值即可,最后答案注意如果一个长度是偶数,无论有没有最小循环节,移动一半之后必定重复,减去一半的方案数即可。
比较好的题。
首先你考虑一个回文串,什么时候会循环的时候重复计算。当且仅当其有一个最小循环节 \(t\),移动 \(t\) 次后就会相同。
我们要将这种东西给减掉,同样的,这种贡献我们可以在计算长度 \(\le n\) 的回文串时加上。
具体就是减去它所有因数的 DP 值即可,最后答案注意如果一个长度是偶数,无论有没有最小循环节,移动一半之后必定重复,减去一半的方案数即可。