【问题描述】

给定两个字符串A和B,表示JYY的两个朋友的名字。我们用A(i,j)表示A
字符串中从第i个字母到第j个字母所组成的子串。同样的,我们也可以定义B(x,y)。
JYY发现两个朋友关系的紧密程度,等于同时满足如下条件的四元组(i,j,x,y)
的个数:
1:1<=i<=j<=|A|
2:1<=x<=y<=|B|
3:A(i,j)=B(x,y)
4:A(i,j)是回文串
这里表示字符串A的长度。
JYY希望你帮助他计算出这两个朋友之间关系的紧密程度。
建两个串的回文树,算出每个本质不同的回文串在两个串中出现次数,乘起来相加。
#include<bits/stdc++.h>
typedef long long i64;
const int N=1e5+;
char s1[],s2[];
int nx[N][],fa[N],l[N],t[N][],pv=,ptr=;
int gf(int w,char*s,int i){
while(s[i]!=s[i--l[w]])w=fa[w];
return w;
}
void ins(char*s,int x){
int c=s[x]-'A',p=gf(pv,s,x);
if(!nx[p][c]){
int np=nx[p][c]=++ptr;
l[np]=l[p]+;
fa[np]=p==?:gf(fa[p],s,x)[nx][c];
}
pv=nx[p][c];
++t[pv][s==s2];
}
int main(){
l[]=-;
fa[]=fa[]=;
scanf("%s%s",s1+,s2+);
s1[]=s2[]=-;
for(int i=;s1[i];++i)ins(s1,i);
pv=;
for(int i=;s2[i];++i)ins(s2,i);
i64 ans=;
for(int w=ptr;w>;--w){
int f=fa[w];
for(int d=;d<;++d)t[f][d]+=t[w][d];
ans+=i64(t[w][])*t[w][];
}
printf("%llu\n",ans);
return ;
}

最新文章

  1. atom-shell程序打包
  2. 基于Metronic的Bootstrap开发框架经验总结(10)--优化Bootstrap图标管理
  3. Java web 项目的相对路径的使用
  4. ftp 530 This FTP serveris anonymous only,
  5. 如何获得 request, &quot;request.getSession(true).setAttribute(&quot;a&quot;,a);&quot;与“request.setAttribute(&quot;a&quot;,a);”区别
  6. 【bzoj1016】 JSOI2008—最小生成树计数
  7. CTF
  8. Spring、Struts2+Spring+Hibernate整合步骤
  9. RTMPdump(libRTMP) 源代码分析 6: 建立一个流媒体连接 (NetStream部分 1)
  10. Linux操作oracle——关闭、停止、重启
  11. C++ 50学习 之提高对 C++的认识
  12. JavaScript基础要点
  13. js 数组的操作
  14. docker swarm英文文档学习-8-在集群中部署服务
  15. Django 模板语言 路由 视图
  16. Spark项目之电商用户行为分析大数据平台之(九)表的设计
  17. jQuery制作鼠标经过显示图片大图,生成图片tips效果
  18. poj 1719 Shooting Contest (二分匹配)
  19. 将本地web项目发布到ubuntu上并运行 第一个本地的.net core2.0项目
  20. 在linux下安装配置rabbitMQ详细教程

热门文章

  1. websocket介绍 以及 vue websocket使用案例
  2. ACM-ICPC 2018 沈阳赛区网络预赛-D:Made In Heaven(K短路+A*模板)
  3. 《DSP using MATLAB》Problem 6.1
  4. Sping--注解(一) 常用注解总结
  5. 【BZOJ3244】【UOJ#122】【NOI2013]树的计数
  6. cdcq的独立博客上线辣!-&gt; http://cdcq.coding.me/blog/
  7. 【java编程】java中什么是bridge method(桥接方法)
  8. flex布局居中无效果注意是否设置了宽度
  9. linux运维注意事项
  10. 使用dynamic和MEF实现轻量级的AOP组件 ---- 系列文章