思路 两个字符串都插入回文自动机中(每次重置last) 最后统计两个right集合的大小就好了 代码 #include <cstdio> #include <algorithm> #include <cstring> using namespace std; int Nodecnt,cnt[50100][2],trans[50100][26],fail[50100],len[50100],s[2][50100],last,n; long long ans=0; char…
#include <bits/stdc++.h> #define Sigma 30 #define MAXN 500010 #define int long long using namespace std ; int n, m, ans ; char s[MAXN], t[MAXN] ; struct PAM{ int rt0, rt1, last, sz, f[MAXN], ch[MAXN][Sigma], fail[MAXN], len[MAXN] ; void Init(){ sz =…