题目链接: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