string 操作: GCD : LCM : 扩展欧几里得 : 快速幂 : 矩阵快速幂 : 最长公共子序列LCS : 最短路Floyd : 并查集 : SG 打表 : SG_DFS : ...
分类:
其他好文 时间:
2019-08-07 23:00:43
阅读次数:
195
最长公共子串是两个字符串都包含的一个字符串,需要连续。例如: String s1 : abfc String s2: abcd "abc"是他们的最长公共子序列,但是‘c’在s1中与”ab“不连续,因此”ab“是两个字符串的最长公共子串。 简单总结下思路: 使用动态规划,用一个二维数组dp[i][j ...
分类:
其他好文 时间:
2019-08-07 19:13:57
阅读次数:
113
问题描述: 最长公共子序列。给定两个长度分别为M和N的字符串a和b,求既是a的子序列又是b的子序列的字符串长度最长是多少。 状态表示: f[i][j]表示前缀字串a[1~i]与b[1~j]的“最长公共子序列”的长度。 阶段划分: 已经处理的前缀长度(两个字符串中的位置,即一个二维坐标系) 转移方程: ...
分类:
其他好文 时间:
2019-08-04 19:36:48
阅读次数:
88
显然最长公共子序列不一定需要连续的,只要字符的顺序严格递增即可。最长公共字串需要字符连续 子序列代码: 最长公共字串代码 仔细比对两处代码可知,公共子序列需要将每一次循环中记录子序列的结果,dp的值一直更新(虽然值有可能不变)。而公共字串只有当字符连续的时候,dp值才会发生更新。 公共子序列在输出结 ...
分类:
其他好文 时间:
2019-07-28 19:56:04
阅读次数:
102
DNA sequence 直接中文了 题目描述 21世纪是生物科技飞速发展的时代。我们都知道基因是由DNA组成的,而DNA的基本组成单位是A,C,G,T。在现代生物分子计算中,如何找到DNA之间的最长公共子序列是一个基础性问题。 但是我们的问题不是那么简单:现在我们给定了数个DNA序列,请你构造出一 ...
分类:
其他好文 时间:
2019-07-20 23:19:07
阅读次数:
125
#include #include #include #include using namespace std; #define N 1010 int dp[N][N]; char c; int main() { char a[N]; char b[N]; scanf("%s%s",a,b); in... ...
分类:
其他好文 时间:
2019-07-19 20:57:45
阅读次数:
85
相对于上一篇 初级 ,这道题稍加深难度,下面这题,比上面多了一个最长子序列的输出,测试一下理解程度,逆序过程 51nod1006 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的) 比如两个串为: abcicba abdkscab ab是两个串的子序列,abc也是,abca也是, ...
分类:
其他好文 时间:
2019-07-04 20:14:50
阅读次数:
120
1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int dp[105][105]; 8 9 int main() 10 { 11 string s1, s2; 12 while(cin >> s1 >> s2) 13 { 1... ...
分类:
其他好文 时间:
2019-06-29 12:58:16
阅读次数:
78
Common Subsequence Problem Description A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a se ...
分类:
其他好文 时间:
2019-06-10 15:56:04
阅读次数:
124
$LCS:$ 对于两个长度均为 $N$ 的数列 $A$ 和 $B$ ,存在一个数列 $C$ 使得 $C$ 既是 $A$ 的子序列有事 $B$ 的子序列,现在需要求这个数列的最长的长度,这就是最长公共子序列。 $solution\quad 1:$ 这道题是世界上最经典的DP题之一,我们可以知道我们做需 ...
分类:
其他好文 时间:
2019-06-10 10:40:43
阅读次数:
219