对于最长公共子串,n*m的递推显然无法通过本题。本题是后缀数组的一个基础应用,字符串的子串可以视作后缀的前缀。我们在两个串间插入一个不在字符集的字符如'#'作为连接,这样做的目的是为了防止两个后缀的最长公共前缀跨过第一个字符串的末尾。扫描Height数组,如果排名为i的字符串与排名为i-1的字符串来...
分类:
其他好文 时间:
2015-09-18 23:23:58
阅读次数:
230
在掌握POJ 2774(两个串求最长公共子串)以及对Height数组分组后,本题还是容易想出思路的。首先用字符集外的不同字符连接所有串,这是为了防止两个后缀在比较时超过某个字符串的分界。二分子串的长度,扫描height数组,判定是否有某个分组来源与至少K个原字符串(本题要求出现超过n的一半次)。#i...
分类:
其他好文 时间:
2015-09-18 23:05:15
阅读次数:
273
数据结构与算法——博文目录排序:归并排序希尔排序(shell)堆排序快速排序插入排序简单选择排序冒泡排序动态规划:动态规划1——最长公共子序列动态规划2——最长公共子串三角形问题——(递归,递推,动态规划)广度优先搜索和深度优先搜索:castle problem——(深度优先搜索,递归实现和stac...
分类:
编程语言 时间:
2015-09-04 22:33:04
阅读次数:
248
题目链接: Poj 2774 Long Long Message题目描述: 给出A,B两个字符串,求最长公共子串?解题思路: 求A,B字符串的最长公共子串可以转化为求A,B字符串后缀数组的最长公共前缀。把B串连接在A串后面,用'$'隔开组成r串。求出r串的height数组,最大的height[...
分类:
编程语言 时间:
2015-09-04 18:35:59
阅读次数:
213
Life Forms Problem's Link Mean:给你n个串,让你找出出现次数大于n/2的最长公共子串。如果有多个,按字典序排列输出。 analyse:经典题。直接二分判断答案。判断答案p时,我们扫一遍height数组,如果height[i]#include #inc...
分类:
编程语言 时间:
2015-09-03 00:38:47
阅读次数:
324
介绍最长公共子串和最长公共子序列的实现,并完成输出多组结果的要求。
分类:
其他好文 时间:
2015-08-29 16:59:33
阅读次数:
161
DNA Sequencing
A DNA molecule consists of two strands that wrap around each other to resemble a twisted ladder whose sides, made of sugar and phosphate molecules, are connected by rungs of...
分类:
编程语言 时间:
2015-08-27 00:28:26
阅读次数:
199
Life Forms
Time Limit: 5000MS
Memory Limit: 65536K
Total Submissions: 11178
Accepted: 3085
Description
You may have wondered why most extraterrestrial life forms rese...
分类:
编程语言 时间:
2015-08-26 17:54:25
阅读次数:
155
最长公共子序列:
例如:abcfbc
abfcb 答案是:4;
最长公共子串 :答案是: 2;
代码:
最长公共子序列:
#include
#include
#define max(x,y) (x>y?x:y)
int len1,len2;
int dp[1010][1010];
int bj[1010...
分类:
其他好文 时间:
2015-08-21 11:21:57
阅读次数:
155
import java.util.Scanner;
public class GetCommonStr {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str1 = scan.nextLine();
String str2 = scan.nextLi...
分类:
其他好文 时间:
2015-08-19 23:49:10
阅读次数:
188