Codeforces 163A Substring and Subsequence
2016-06-29 07:39
435 查看
http://codeforces.com/problemset/problem/163/A?mobile=true
题目大意:给出两个串,问a的连续子串和b的子串(可以不连续)相同的个数。
思路:在LCS上加点改动
题目大意:给出两个串,问a的连续子串和b的子串(可以不连续)相同的个数。
思路:在LCS上加点改动
#include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #include<iostream> const int Mod=1000000007; char a[500005],b[500005]; int n,m,f[5005][5005]; int read(){ int t=0,f=1;char ch=getchar(); while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();} while ('0'<=ch&&ch<='9'){t=t*10+ch-'0';ch=getchar();} return t*f; } int main(){ scanf("%s",a+1);n=strlen(a+1); scanf("%s",b+1);m=strlen(b+1); for (int i=1;i<=n;i++) if (a[i]==b[1]) f[i][1]=1; for (int i=1;i<=m;i++) if (a[1]==b[i]) f[1][i]=1; int ans=0; for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++){ f[i][j]=f[i][j-1]; if (a[i]==b[j]) (f[i][j]+=f[i-1][j-1]+1)%=Mod; } ans=(ans+f[i][m])%Mod; } printf("%d\n",ans); }
相关文章推荐
- Vue.js——60分钟组件快速入门(上篇)
- 30分钟git命令入门到放弃
- 347. Top K Frequent Elements
- ThreadPoolExecutor原理与使用
- requestWindowFeature无法隐藏标题栏
- Druid
- 优化UITableViewCell高度计算的那些事
- UIScrollView不像样touchBegain点击事件
- iOS8的UIAlertController
- UITextField的leftView和rightView
- SoapUI+Groovy做接口自动化测试
- 更新BLE的设备后,OSX LightBlue 不会更新扫描到Service
- 多线程学习之--真的不能在子线程里更新UI吗?
- Saving Data --- Saving Key-Value Sets(一)
- 编辑器Ueditor找不到临时文件解决办法
- android事件分发(三)重要的函数requestDisallowInterceptTouchEvent
- 《UNIX环境高级编程(第三版)》中apue.h头文件的设置
- 禁止UITextField 使用粘贴复制功能
- (OK) How to access a NAT guest from host with VirtualBox - NAT Port Forwarding
- C#中Dictionary<TKey,TValue>排序方式