
字符串
blzorro
这个作者很懒,什么都没留下…
展开
-
FZU 2122 又见LKity (KMP)
题意:将给定字符串中的特定子字符串替换成另外一个字符串。 思路:水题,KMP算法寻找字符串并替换 #include #include #define MAXN 50005 bool v[MAXN]; void getFail(char *P,int *f) { int m=strlen(P); f[0]=f[1]=0; for(int i=1;i<m;++i) { int j=f[原创 2013-08-11 19:17:21 · 830 阅读 · 0 评论 -
UVA 1401 & LA 3942 (字典树Trie+递推)
题意:给出一个由S个不同的字符串组成的字典和一个长字符串,问:把这个长字符串分解成若干个字典中出现的字符串,共有几种分法。单词可以重复使用。 思路:将所有字典中的单词插入字典树中,用d[i]表示str[i]到str[n]的所有分解法数。所以有d[i]=sum(i+len(x)),其中x为str[i]为开头的字符串str[i...n],即枚举x,x={str[i]}或{str[i],str[i+1原创 2013-08-03 23:01:09 · 732 阅读 · 0 评论 -
HDU 4681 String (动态规划)
题意:给定字符串A,B,C,寻找一个最长的D,满足以下条件: 1)D是A的子序列 2)D是B的子序列 3) C是D的子串 (子串是指连续的子字符串) 求出D的长度 思路:先对A,B正向求最长公共子序列记录在f(i,j)中,再对A、B逆向求最长公共子序列记录在g(i,j)中。 在A和B中寻找子序列C,对于C在A、B中的每个起点,只需要找出C在其中结束最近的位置就可以了。例如A是abbb中原创 2013-08-15 16:44:18 · 1274 阅读 · 0 评论