T1: 其实就是个模拟。。。 细节蛮多的
T2: 统计一下f[i],g[i]分别表示以i为右端点/左端点的回文串的个数,\(ans=\sum f[i]*g[i+1]\) manacher跑一下,然后差分的加一下等差数列就行了
T3: 对于\(w_{i,j} + w_{j,i}\)建一个点, 对于每个位置建一个点,代价为 \(−a\) 对于每个字符建一个点,代价为 \(−b + a\) 一类点连向二类点,二类点连向三类点 最大权闭合图