前面第五篇(一)中的一个Socket例子其实就是单线程的,即Server端一次只能接受来自一个Client端的连接,为了更好的说明socket单线程和阻塞模式,下面对前面的例子做修改。1.单线程+阻塞+交互式前面的例子是单线程阻塞和非交互式的,现在改写为交互式的,即不会执行一次就结束..
分类:
编程语言 时间:
2015-10-03 19:32:51
阅读次数:
287
字符串的匹配先定义两个名词:模式串和文本串。我们的任务就是在文本串中找到模式串第一次出现的位置,如果找到就返回位置的下标,如果没有找到返回-1.其实这就是C++语言里面的一个函数:extern char *strstr(char *str1, const char *str2);对于这个函数的解释:...
分类:
编程语言 时间:
2015-10-01 21:45:37
阅读次数:
274
BF(Brute Force)算法是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法实现: 1 int ...
分类:
编程语言 时间:
2015-09-27 21:24:37
阅读次数:
272
题目大意有N个病毒,病毒由A-Z字母构成,N个病毒各不相同。给出一段程序P,由A-Z字母构成,若病毒在在程序P或者P的逆转字符串P'中存在,则该程序P被该病毒感染。求出程序P被多少种病毒感染。题目分析典型的多模式串的字符串匹配问题,考虑使用Trie图。将M个待查的字符串作为模式串插入Trie图中,然...
分类:
其他好文 时间:
2015-09-19 16:45:55
阅读次数:
183
题意:多个模式串和多个待匹配串,求每个待匹配串对于所有模式串的匹配个数;思路:1、与最裸的ac自动机的区别在于讯问后的叶子节点的count值会改变,在每次询问时count值不要清零; 2、对于多个串的保存直接用二维数组;#include#include#include#include#incl...
分类:
其他好文 时间:
2015-09-10 21:16:11
阅读次数:
259
题意:给定多个模式串,每给一个母串,输出包含模式串的编号,最后输出包含模式串的母串的数量。分析:ac自动机模板#include #include #include #include #include #include #include #include #include #include #incl...
分类:
其他好文 时间:
2015-09-03 23:25:28
阅读次数:
444
题意:求每个模式串在母串中出现的次数#include #include #include #include #include #include #include #include #include #include #include #include #include #include #inclu...
分类:
其他好文 时间:
2015-09-03 23:24:56
阅读次数:
301
题意:给一个母串和多个模式串,求模式串在母串后翻转后的母串出现次数的的总和。分析:模板题/*#include #include #include #include #include using namespace std;const int maxnode = 250*1000+10000;cons...
分类:
Web程序 时间:
2015-09-03 23:13:39
阅读次数:
193
题意:给多个模式串一个母串,求个模式串在母串中出现的次数。#include #include #include #include #include #include #include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2015-09-03 23:13:36
阅读次数:
163
题意:给你一个母串,多个模式串及其价值,求用模式串拼接成母串(不重叠不遗漏),能获得的最大价值。分析:ac自动机中,在字典树上查找时,用dp,dp[i]拼成母串以i为结尾的子串,获得的最大价值,dp[i]=max(dp[i],dp[i-len]+val[tmp])。,len是模式串的长度,val[t...
分类:
其他好文 时间:
2015-09-03 23:10:58
阅读次数:
249