#include
#include
#include
#include
#include
using namespace std;
/*
*最长公共子序列(动态规划)
*/
vector> c;//c[i][j]记录串a[0..i]与串b[0..j]之间的最长公共子序列的长度
vector> b;//b[i][j]记录c[i][j]的值是由哪一个子问题的解得到的
void LCSLength(...
分类:
其他好文 时间:
2014-11-26 20:57:44
阅读次数:
199
1 /* 2 给两个串a,b。输出一个最短的串(含等于a的子序列且含等于b的子序列) 3 */ 4 #include 5 #include 6 #include 7 using namespace std; 8 9 const int maxn=105;10 int dp[maxn][ma...
分类:
其他好文 时间:
2014-11-20 01:20:03
阅读次数:
219
http://acm.nyist.net/JudgeOnline/problem.php?pid=36最长公共子序列时间限制:3000ms | 内存限制:65535KB难度:3描述咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列。tip:最长公共子序列也称作最长公共子串(不要求...
分类:
其他好文 时间:
2014-11-16 21:31:37
阅读次数:
158
一、实验目的:熟悉掌握动态规划法设计技术二、实验要求:1、按教材所授内容要求,完成“最长公共子序列问题”算法。得到一个完整正确的程序。2、问题规模:不少于1003、输出最终结果。三、实验设备:PC机一台Vc++6.0编译软件一套四、问题描述:若给定序列X={x1,x2,…,xm},则另一序列Z={z...
分类:
编程语言 时间:
2014-11-15 21:45:22
阅读次数:
558
最近,我在网上看了一些动态规划求字符串最长公共子序列的代码,但是无一例外都是处理英文字符串,当处理汉字字符串时,经常会出现乱码或者不正确的情况。 我对代码进行了修改,使用wchar_t类型存储字符串,能够正确的处理英文字符串和汉字字符串的最长公共子序列。代码如下:...
分类:
编程语言 时间:
2014-11-08 13:42:49
阅读次数:
190
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159解题思路:任意先给出两个字符串 abcfbc abfcab,用dp[i][j]来记录当前最长的子序列,则如果有x[i]与y[j]相等的话,则相当于公共子序列的长度在dp[i-1][j-1]上增加1,...
分类:
其他好文 时间:
2014-11-08 00:52:18
阅读次数:
312
前言以前HanLP使用“最短编辑距离”来做推荐器,效果有待提高,主要缺点是根据拼音序列的编辑距离推荐的时候,同音字交错很常见,而编辑距离却不那么大。这时我就在寻求一种补充的评分算法,去评判两个句子在拼音这一维度上的相似程度。区别最长公共子串(Longest Common Substring)指的是两...
分类:
编程语言 时间:
2014-11-07 16:17:17
阅读次数:
174
1.动态规划
动态规划的方法与方法类似,英文“dynamic programming”,这里的programming不是程序的意思,而是一种表格法。都是通过组合子问题的解来解决原问题,分治方法将划分为互不相交的子问题,递归的求解子问题,再将它们的解组合起来求出原问题的解。与之相反动态规划应用于子问题的重叠情况,即不同的子问题具有公共的子问题,子问题的求解是递归进行 ...
分类:
其他好文 时间:
2014-11-06 23:42:25
阅读次数:
562
1、基本概念 一个给定序列的子序列就是该给定序列中去掉零个或者多个元素的序列。形式化来讲就是:给定一个序列X={x1,x2,……,xm},另外一个序列Z={z1、z2、……,zk},如果存在X的一个严格递增小标序列,使得对所有j=1,2,……k,有xij =zj,则Z是X的子序列。例如:Z={B,....
分类:
其他好文 时间:
2014-11-06 19:12:47
阅读次数:
265