博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 163A Substring and Subsequence
阅读量:6007 次
发布时间:2019-06-20

本文共 1056 字,大约阅读时间需要 3 分钟。

题目大意:给出两个串,问a的连续子串和b的子串(可以不连续)相同的个数。

思路:在LCS上加点改动

1 #include
2 #include
3 #include
4 #include
5 #include
6 const int Mod=1000000007; 7 char a[500005],b[500005]; 8 int n,m,f[5005][5005]; 9 int read(){10 int t=0,f=1;char ch=getchar();11 while (ch<'0'||ch>'9'){
if (ch=='-') f=-1;ch=getchar();}12 while ('0'<=ch&&ch<='9'){t=t*10+ch-'0';ch=getchar();}13 return t*f;14 }15 int main(){16 scanf("%s",a+1);n=strlen(a+1);17 scanf("%s",b+1);m=strlen(b+1);18 for (int i=1;i<=n;i++)19 if (a[i]==b[1]) f[i][1]=1;20 for (int i=1;i<=m;i++)21 if (a[1]==b[i]) f[1][i]=1;22 int ans=0;23 for (int i=1;i<=n;i++){24 for (int j=1;j<=m;j++){25 f[i][j]=f[i][j-1];26 if (a[i]==b[j])27 (f[i][j]+=f[i-1][j-1]+1)%=Mod;28 }29 ans=(ans+f[i][m])%Mod;30 }31 printf("%d\n",ans); 32 }

 

转载于:https://www.cnblogs.com/qzqzgfy/p/5625587.html

你可能感兴趣的文章
关闭windows休眠
查看>>
Ansible之十一:变量详解
查看>>
那些SCOM 管理包开发中遇到的坑1–Powershell scriptBlock Invoke执行结果的类型
查看>>
关于Server Sql 2008触发器的使用
查看>>
mac常见命令
查看>>
Redhat 系统相关调优参数注解
查看>>
nextus的使用
查看>>
Python自动化开发学习5-2-subprocess模块
查看>>
编程实现最小化窗口到桌面右下角图标的代码
查看>>
ELK stack实战之结合rsyslog分析系统日志(auth.log)
查看>>
网络管理工具与IT运维管理平台的差别
查看>>
五一期间安全回顾 木马威胁提升 移动设备数据泄漏受重视
查看>>
VDI序曲二十 桌面虚拟化和RemoteApp集成到SharePoint 2010里
查看>>
压缩介绍、bz2、gz、xz压缩工具
查看>>
StretchRect...果然和文档上说的一样
查看>>
Python成生随机KEY工具
查看>>
将一个数组拆分为几个至少三个元素的递增子序列
查看>>
备忘,解决WIN10下COM注册问题
查看>>
cx_Oracle install
查看>>
jquery ajax从后台获取数据
查看>>