从以每一位为中心的回文串长度可以用Manacher倒推出$O(n)$对相等和不等关系. 将相等的用并查集维护,不等的连边. 然后输出方案时若还没被染过色,则求一个mex. #include<cstdio> #define N 200010 int n,m,i,x,r,p,f[N],g[N],fa[N],a[N],v[30]; struct E{int v;E*nxt;}*j,*h[N],pool[N*2],*cur=pool; inline int min(int a,int b){retur…