一、题目
二、解法
考虑枚举左右边界,我们考虑形成的 n n n个字符串。首先一个串能重排成回文串首先要满足出现次数为奇数的字符至多只有一个,如果我们把字符串 h a s h hash hash,那么还有满足能构成一个回文串,跑 m a n a c h e r manacher manacher统计回文串个数即可。
这里的 m a n a c h e r manacher manacher写法略有不同,我们需要把不满足条件的设为 − 2 , − 3... -2,-3... −2,−3...,中间插空 − 1 -1 −1,过程中要跳过小于 − 1 -1 −1的值,时间复杂度 O ( n 3 ) O(n^3) O(n