A,B两个序列相同的子序列个数
来源:互联网 发布:js string转int 编辑:程序博客网 时间:2024/04/29 13:41
题目:A,B两个序列相同的子序列个数
#include <bits/stdc++.h>using namespace std;#define maxn 1000+40#define mod 1000000007typedef long long int LL;int n , m;LL dp[maxn][maxn];int a[maxn];int b[maxn];int main(){ while( cin >> n >> m ) { memset(dp,0,sizeof(dp)); for(int i = 1 ; i <= n ; ++i) { scanf("%d ",&a[i]); } for(int i = 1 ; i <= m ; ++i) { scanf("%d",&b[i]); } for(int i = 1 ; i <= n ; ++i) { for(int j = 1 ; j <= m ; ++j) { if( a[i] == b[j] ) { dp[i][j] = dp[i-1][j] + dp[i][j-1] + 1; } else dp[i][j] = dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1]; dp[i][j] %= mod; } } cout << (dp[n][m] + mod)%mod << endl; }}
阅读全文
0 0
- A,B两个序列相同的子序列个数
- 动态规划 LCS 求两个序列A,B中所有的最长公共子序列
- 动态规划 LCS 求两个序列A,B中全部的最长公共子序列
- 两个序列中公共子序列的个数
- 子序列的个数
- 子序列的个数
- 子序列的个数
- 子序列的个数
- 子序列的个数
- 例如,X=“ABCBDAB”,Y=“BCDB”是X的一个子序列。给定两个序列A和B,称序列Z是A和B的公共子序列,是指Z同是A和B的子序列。编写算法求一直两序列A和B的最长公共子序列。
- 有一个数组,让找到两个不重复的连续子序列A,B ,求Max(Sum(A)-Sum(B)。
- 子序列的个数 --- 庞果网
- 数组子序列的个数
- 公共子序列的个数
- 两个序列的最长公共子序列
- hdu5791(2016多校第五场,dp,相同子序列的个数)
- 51nod 1202 子序列个数 (子序列套路dp)&& HDU 5791 Two (两串求相同子序列)
- 有两个序列a,b,要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。
- Python中字符编码与转码
- 实现盒子高度撑开,而且以最高的为高
- Android照片墙应用实现,再多的图片也不怕崩溃
- 数据规整化:清理、转换、合并、重塑
- Android入门攻略(另附一个简单的带socket的模仿QQ实例)
- A,B两个序列相同的子序列个数
- js获取url(window.location)
- C/C++:VS2012使用C代码
- 经验分享 |【PDF下载】运维/DevOps峰会之开源DevOps工具云上自动运维
- Super Mobile Charger FZU
- 珍味世家零售版
- spinner 适配器
- 8月22日云栖精选夜读:新零售业务中台设计及产品体系解决方案
- Android照片墙完整版,完美结合LruCache和DiskLruCache