省选模拟22

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)
一类点连向二类点,二类点连向三类点
最大权闭合图

原文地址:https://www.cnblogs.com/Gkeng/p/12730525.html