果然还是要把manacher的一些经典题打一下。
求前K长的回文串(长度为奇数)的长度乘积。
如果有长度为7的回文串,就一定有长度1 3 5 的回文串。
一遍manacher把有的长度打上差分标记,最后快速幂计算即可。
#include<bits/stdc++.h> #define N 1000003 #define LL long long #define mod 19930726 using namespace std; int n,len,last; LL K; int pal[N<<1]; LL cha[N]; char s[N<<1],t[N]; void init() { len=strlen(t); s[0]='-'; for(int i=1;i<2*len;i+=2) { s[i]='#'; s[i+1]=t[i/2]; } s[2*len+1]='#'; s[2*len+2]='+'; s[2*len+3]='