首页 技术 正文
技术 2022年11月14日
0 收藏 616 点赞 4,328 浏览 535 个字

  题意:求两串数字有多少个相同的子串,子串不要求连续。

  思路:直接DP,dp[i][j] 代表A串长度为i、B串为j时满足条件的子串个数。转移dp[i][j] = dp[i -1][j] + dp[i][j – 1] – dp[i – 1][j – 1].后面是因为重复而减去的。

#include<bits/stdc++.h>
using namespace std;const int maxn = 1e3 + ;
const int mod = 1e9 + ;
int n, m, a[maxn], b[maxn], dp[maxn][maxn];int main(){
while(~scanf("%d%d", &n, &m)) {
for(int i = ; i <= n; i ++) scanf("%d", &a[i]);
for(int i = ; i <= m; i ++) scanf("%d", &b[i]); for(int i = ; i <= n; i ++) {
for(int j = ; j <= m; j ++) {
dp[i][j] = ((dp[i - ][j] + dp[i][j - ] - dp[i - ][j - ]) % mod + mod) % mod;
if(a[i] == b[j]) dp[i][j] = (dp[i][j] + dp[i -][j - ] + ) % mod;
}
}
printf("%d\n", dp[n][m]);
}
return ;
}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,487
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,127
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,289