【codevs2183】匹配字符串
2024-08-26 22:40:14
KMP裸题
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<cmath>
using namespace std; #define N 200010 char a[N],b[N];
int p[N],cnt[N]; int l1,l2,t;
int x; int main()
{
scanf("%d%d%d",&l1,&l2,&t);
scanf("%s%s",a+,b+);
for (int i=,j=;i<=l2;i++)
{
while (j> && b[i]!=b[j+])
j=p[j];
if (b[i]==b[j+])
j++;
p[i]=j;
}
for (int i=,j=;i<=l1;i++)
{
while (j> && a[i]!=b[j+])
j=p[j];
if (a[i]==b[j+])
++j;
++cnt[j];
}
for (int i=l1;i>;i--)
cnt[p[i]]+=cnt[i];
while (t--)
{
scanf("%d",&x);
printf("%d\n",cnt[x]-cnt[x+]);
}
return ;
}
最新文章
- js_跨域
- Windows Azure Web Site (10) Web Site测试环境
- 学习JQ
- 如何用ZBrush确定头部五官的位置
- uva 1308 - Viva Confetti
- jstl中添加自定义的函数
- linux 消息队列的限制
- Android 字体颜色变化(点击)
- 使IE6同样支持圆角效果
- HDOJ 2680 Dijkstra
- 第六节: EF高级属性(二) 之延迟加载、立即加载、显示加载(含导航属性)
- 「破解」Xposed强
- luogu1397 [NOI2013]矩阵游戏 (等比数列求和)
- plsvo
- memcpy的函数
- BUAA软工个人作业Week3-案例分析
- Yii 引入js css jquery 执行操作
- 关于OpenCV的stitching使用
- [翻译]如何在HTML5中有效使用ARIA
- POJ-2387-Til the Cows Come Home(最短路)