首先马拉车一遍(或者用hash),再做个前缀和处理出f[i][j]表示以j为右端点,左端点在[i,j]的回文串个数

然后设ans[i][j]是[i,j]之间的回文串个数,那就有ans[i][j]=ans[i][j-1]+f[i][j]

 #include<bits/stdc++.h>
#define pa pair<int,int>
#define CLR(a,x) memset(a,x,sizeof(a))
using namespace std;
typedef long long ll;
const int maxn=; inline ll rd(){
ll x=;char c=getchar();int neg=;
while(c<''||c>''){if(c=='-') neg=-;c=getchar();}
while(c>=''&&c<='') x=x*+c-'',c=getchar();
return x*neg;
} int rad[maxn<<],N,Q,ans[maxn][maxn];
int f[maxn][maxn];
char s[maxn<<]; int main(){
int i,j,k;
scanf("%s",s+);N=strlen(s+);
for(i=N;i;i--){
s[i<<]=s[i];s[i<<|]='#';
}s[]='#',s[]='!';
int a=,p=;
for(i=;i<=(N<<|);i++){
rad[i]=p>=i?min(p-i+,rad[*a-i]):;
while(s[i+rad[i]]==s[i-rad[i]]) rad[i]++;
if(i+rad[i]->p) p=i+rad[i]-,a=i;
for(j=;j<=rad[i];j++){
if(s[i+j-]!='#') f[(i-j+)>>][(i+j-)>>]=;
}
}
for(i=;i<=N;i++){
for(j=i;j;j--) f[j][i]+=f[j+][i];
}
for(i=;i<=N;i++){
for(j=i;j<=N;j++){
ans[i][j]=ans[i][j-]+f[i][j];
}
}
Q=rd();
for(i=;i<=Q;i++){
int a=rd(),b=rd();
printf("%d\n",ans[a][b]);
}
return ;
}

最新文章

  1. python统计某一个进程名所占用的内存
  2. Java虚拟机内存管理原理基础入门
  3. 【iCore3双核心板】【4.3寸液晶驱动板爆照!】
  4. 新书发布《大数据时代的IT架构设计》
  5. String、StringBuffer、StringBuilder源码解读
  6. javascript继承(二)—创建对象的三种模式
  7. Delphi 线程同步技术(转)
  8. Android学习笔记之AndroidManifest.xml文件解析
  9. Hadoop的shell脚本分析
  10. Ajax请求ashx 返回 json 格式数据常见问题
  11. Spring配置多个数据源
  12. 【案例】舒邑:一个女装品牌的奇葩打法-@i黑马
  13. 运行Jmeter.bat出错:Not able to find java executor or version. Please check your installation. errorlevel=2
  14. POJ 1625 Censored! [AC自动机 高精度]
  15. 三色GDOI
  16. 利用TortoiseGit(小乌龟)将项目上传至GitHub网站
  17. linux的基本操作(LAMP环境搭建)
  18. JmsTemplate sendAndReceive 设置超时
  19. maven入门安装及HelloWorld实现
  20. Java IO流学习总结一:输入输出流

热门文章

  1. Nginx负载均衡各种配置方式
  2. How to Configure Email Notification in Jenkins
  3. mysql 5.7:show_compatibility_56
  4. jmeter 启动jmeter-server.bat远程调用报错: java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
  5. 安装 Tesserocr (填坑)
  6. python中的__init__和__new__的区别
  7. Yii2的save()方法容易出错的地方
  8. 二、kubernetes
  9. word2vec训练&amp;IC分词(待)
  10. html class选择器与id选择器