这里所求的最长公共子序列,指的是最长公共子序列的长度。 基本思路和求最长公共子串差不多 只是在一处有差别,代码也比较简单。 public static int lcs(String s1, String s2) { int len1 = s1.length(); int len2 = s2.leng ...
分类:
其他好文 时间:
2019-11-16 00:08:03
阅读次数:
78
动态规划整理 1.最长公共子序列 2.最长上升子序列 3.爬楼梯 4.最长公共子串 ...
分类:
其他好文 时间:
2019-10-25 23:35:37
阅读次数:
115
``` include include include include include include include include include include define LL long long define ULL unsigned long long using namespace ...
分类:
其他好文 时间:
2019-10-25 16:27:39
阅读次数:
69
PS:串一定是连续的,序列可以是不连续的 时间复杂度O(len1*len2) 问题:求2个字符串的最长公共子串 字符串 str1="abcde",str2="abcde" 如果两个串相同,那么矩阵的对角线全都是1。 串1是abcdefg,串2是acdaefg 为了在求最长公共子串时,使得判断更加简单 ...
分类:
其他好文 时间:
2019-10-23 18:33:14
阅读次数:
62
1 #include <iostream> 2 #include <string> 3 #include <cassert> 4 using namespace std; 5 6 void KMPStrMatching(string S, string P, int *N, int &start, ... ...
分类:
编程语言 时间:
2019-09-29 09:15:23
阅读次数:
139
1 #include <stdio.h> 2 #include <string.h> 3 4 void substr(char *s1, char *s2) 5 { 6 /* 1.设长串开始位置 p, 最大匹配串开始 结束位置 maxStart, maxEnd*/ 7 char *p = s1, *... ...
分类:
其他好文 时间:
2019-09-28 23:41:56
阅读次数:
110
给出不超过5个字符串,求最长公共子串 总长度不超过1w 把几个串接到一起中间用不同的字符隔开 求出height之后,二分答案为k,在height数组中找到每一段连续的且均不小于k的数,用前缀和判断里面是否包含了来自每一个字符串的子串 $O(nlogn)$ ...
分类:
其他好文 时间:
2019-09-26 21:05:31
阅读次数:
69
题目描述:给定两个字符串s1和s2,计算其最长公共子串的长度,并返回所有可能的最长公共子串。#-*-coding:utf-8-*-#@Time:2019-09-2222:57#@Author:JayceWong#@ProjectName:job#@FileName:longestCommonSubstring.py#@Blog:https://blog.51cto.com/jayce1111#@Gi
分类:
其他好文 时间:
2019-09-23 09:56:45
阅读次数:
60
题意: 给出两个字符串a,b,求一个字符串,这个字符串是a和b的子串, 且只在a,b中出现一次,要求输出这个字符串的最小长度。 题解: 将a串放入后缀自动机中,然后记录一下每个节点对应的子串出现的次数 然后把b串取自动机中匹配 然后判断一下 1 #include <set> 2 #include < ...
分类:
其他好文 时间:
2019-09-22 12:50:24
阅读次数:
93
题意: 给你S串和T串,用T串的所有前缀去匹配S串(匹配值是最长公共子串)。 问你总值相加是多少。 思路: 先把两个S,T串倒过来,再拼接 S#T 合成一串,跑一下后缀数组 在排序好的rank里计算每个T后缀的最长匹配长度。(前后两个for即可) 最后dp对后缀取max,累计答案。(因为后缀从pos ...
分类:
编程语言 时间:
2019-09-21 15:24:46
阅读次数:
161