2017CCPC网赛1004(HDU 6153)
来源:互联网 发布:ipad刻字热门句子知乎 编辑:程序博客网 时间:2024/06/02 02:32
题意:给你两个字符串 求第二个字符串的后缀在第一个字符串中出现的次数;
题解:比赛的时候全懵逼,各种奇葩思路,后缀数组优化KMP什么的,最后结束比赛才在学长的指导下,知道了用KMP的性质和后缀数组的特性去解题,直接A掉
#include<iostream>#include<algorithm>#include<vector>#include<map>#include<set>#include<queue>#include<stack>#include<cstring>#define N 1000005#define mod 1000000007using namespace std;char a[N];char b[N];char c[N];int Next[N]; int first[N];int aa[N];void intex(char a[],int Next[],int e){int i=0;int j=-1;Next[0]=-1;while(i<e){if(j==-1||a[i]==a[j]) Next[++i]=++j;else j=Next[j];}return ;}void kmp(char a[],char c[],int Next[],int e,int w){int i=0;int j=0;while(i<e){if(j==-1||a[i]==c[j]){if(j!=-1) first[j]++;i++;j++;if(j==w) j=Next[j];}else{ j=Next[j];}} return ;}int main(){int T;scanf("%d",&T);getchar();while(T--){ memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); scanf("%s %s",a,b); int len=strlen(b); for(int i=0;i<len;i++) c[i]=b[len-i-1]; memset(b,0,sizeof(b)); memset(first,0,sizeof(first)); intex(c,Next,len); int len1=strlen(a); for(int i=0;i<len1;i++) b[i]=a[len1-i-1]; kmp(b,c,Next,len1,len); for(int i=len;i>0;i--){ first[Next[i]-1]+=first[i-1]; } long long ans=0; for(int i=0;i<len;i++) ans=(ans+1ll*first[i]*(i+1)%mod)%mod; printf("%lld\n",ans);}return 0;}
阅读全文
0 0
- 2017CCPC网赛1004(HDU 6153)
- A Secret 2017 CCPC 网络选拔赛 hdu 6153
- 2017CCPC网赛1003
- HDU 6153-A Secret(kmp&&ccpc)
- HDU-6153---A Secret (扩展kmp)(2017ccpc网络赛)
- HDU 6000(CCPC Final)
- 2017 CCPC
- 【KMP+优化】HDU 6153/CCPC 1003 A Secret
- HDU 6153 A Secret CCPC网络赛,KMP拓展应用
- 2017CCPC女生赛 hdu 6030 Happy Necklace
- 2017CCPC女生赛 hdu 6029 Graph Theory
- 2017CCPC女生赛 hdu 6024 Building Shops
- 2017CCPC女生赛 hdu 6026 Deleting Edges
- 2017CCPC女生赛 hdu 6031 Innumerable Ancestors
- HDU 6156 回文 数位DP(2017CCPC)
- Hdu 6156 Palindrome Function 2017 CCPC网络赛
- HDU 6242/2017CCPC哈尔滨 Geometry Problem 【随机化+计算几何】
- 2017ccpc网赛-1005-CaoHaha's staff
- Codeforces 841 B Godsend
- 删除项目中的storyboard
- 第二十三篇:字典树(附完整源码)
- 函数
- 字符串模式匹配:KMP算法讲解
- 2017CCPC网赛1004(HDU 6153)
- 20170819
- 170820 WarGames-Natas(21-25)
- word跨文档复制标题格式不兼容
- 用爬虫来爬取csdn大神的文章的url
- git 分享项目问题
- 在webStorm中配置ArcGIS API forJavaScript智能提示
- 背包问题
- Jobdu1444 More is better (并查集)