题目链接:hdu 3247 Resource Archiver
题目大意:给定N个需要包含的串,M个不能包含的串,问说满足的最短字符串长度。
解题思路:直接对所有串建立AC自动机,不能满足的串用同一种标记即可。然后处理出所有属于需要包含串的单词节
点,用BFS处理出两两之间的距离,并且过程中是不能经过禁止节点。这样做的原因是节点的个数很多,如果对所有的
节点进行dp的话空间...
                            
                            
                                分类:
其他好文   时间:
2014-11-11 22:47:43   
                                阅读次数:
270
                             
                    
                        
                            
                            
                                昨天对长目标字符串下的各种正则匹配库性能进行了总结,得出结论是Boost regex性能最佳。今天将其应用到项目当中,果不其然,长字符串匹配带来的性能损失基本没有了,当然,目前规模并不算太大,但是在可预计规模内Boost可以完全达到要求。...
                            
                            
                                分类:
其他好文   时间:
2014-11-07 17:04:51   
                                阅读次数:
209
                             
                    
                        
                            
                            
                                HDU 1503 Advanced Fruits(LCS变形且输出解)
http://acm.hdu.edu.cn/showproblem.php?pid=1503
题意:
       给你两个字符串s1和s2, 要你输出它们的并串s. 其中s1是s的一个子序列且s2也是s的一个子序列且s是所有符合前面要求的最短字符串.
分析:
       令dp[i][j]==x表示s1串的前i个字符和s2串的前j个字符组成的串的LCS长度为x.
       我们先求出LCS的dp数组值. 然后按照POJ2250:...
                            
                            
                                分类:
其他好文   时间:
2014-11-04 17:24:31   
                                阅读次数:
198
                             
                    
                        
                            
                            
                                后缀树(Suffix Tree) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy给你一个长字符串s与很多短字符串集合{T1,, T2, ...}, 设计一个方法在s中查询T1, T2, ..., 要求找出Ti在s中的位置.代码:/*
 * main.cpp
 *
 *  Created on: 2014.7.20
 *      Author: Spi...
                            
                            
                                分类:
其他好文   时间:
2014-09-21 09:27:49   
                                阅读次数:
232
                             
                    
                        
                            
                            
                                给定一个字符串s 和 一个包含较短字符串的数组t,设计一个方法,根据t中的每一个较短的字符换,对s进行搜索。思路:基于s建立后缀树,然后在后缀树中进行查找,返回所有可能的索引值。import java.util.ArrayList;public class Question { public ...
                            
                            
                                分类:
其他好文   时间:
2014-08-26 17:14:26   
                                阅读次数:
270
                             
                    
                        
                            
                            
                                字符串包含
题目:假设这有一个各种字母组成的字符串A,和另外一个字符串B,字符串里B的字母数相对少一些。什么方法能最快的查出所有小字符串B 里的字母在大字符串A里都有?
a是长字符串,b是短字符串
方法一:双循环比较法(轮询法)
针对b中的每一个字符,逐个与a中每一个字符比较
伪代码:
bool StringContain(string &a, string &b)
{
   ...
                            
                            
                                分类:
其他好文   时间:
2014-08-09 02:36:57   
                                阅读次数:
339
                             
                    
                        
                            
                            
                                这是一个很有用的HASH 的函数,对长短字符串都很有用。 代码: 1 // ELF Hash Function 2 unsigned int ELFHash(char *str) 3 { 4 unsigned int hash = 0; 5 unsigned int x =...
                            
                            
                                分类:
其他好文   时间:
2014-07-24 10:06:03   
                                阅读次数:
207
                             
                    
                        
                            
                            
                                有这样一个算法题目假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有短字符串里的字母在长字符串里都有?比如,如果是下面两个字符串:String 1: ABCDEFGHLMNOPQRSString 2: DCGSRQPO...
                            
                            
                                分类:
其他好文   时间:
2014-07-15 08:49:47   
                                阅读次数:
266
                             
                    
                        
                            
                            
                                Write a function to find the longest common prefix string amongst an array of strings.
写一个函数找出字符串数组中的最长共现前缀字符串。
思路:共现,即要求数组中的所有元素的前缀中都要出现。所以所得的结果肯定是最短字符串的部分或全部或都不是,总之要以最短字符串为基准与其他字符串比较。
	public Str...
                            
                            
                                分类:
其他好文   时间:
2014-07-08 10:39:49   
                                阅读次数:
203