
String
111111用户昵称不存在00000
这个作者很懒,什么都没留下…
展开
-
Trie树介绍与动态构造->HDU1251
Trie树介绍:Trie树,称为单词前缀树,字典树,是一种用于快速检索的多叉树结构核心思想: 空间换时间,利用字符串的公共前缀来最大限度地减少无所谓的字符串比较,从而降低时间复杂度。基本性质: 1.根节点不包含字符,除根节点外的每条边对应一个字符 2.从根节点到某一个节点,将边上的字符连起来,会得到该节点对应的前缀 3.每个节点对应的前缀都不相同Trie树的编程实现1原创 2016-07-29 16:19:53 · 327 阅读 · 0 评论 -
LightOJ1129->动态Trie树
LightOJ1129题意: 给定若干个字符串,判断是否存在某个字符串是其他字符串的前缀题解: 通过Trie树维护前缀,然后查询。 处理过程中需要考虑两种情况: 1.新添加的字符串是已有字符串的前缀 2.已有字符串是新添加字符串的前缀 (具体操作见代码)注意:动态构造Trie树一定要释放内存代码:#include <stdio.h>#include <str原创 2016-07-30 02:04:27 · 373 阅读 · 0 评论 -
HDU1075->Trie树
HDU1075->Trie树题意: 给一个单词字典,要求翻译一段话。题解: Trie树维护的信息为外来词汇,每个单词的叶子节点储存对照的翻译。代码:#include <stdio.h>#include <string.h>#include <stdlib.h>#include <iostream>using namespace std ;#define MAX 3005cha原创 2016-07-30 12:15:08 · 295 阅读 · 0 评论 -
HDU1800->Trie树
HDU1800->Trie树题意: 给你一串数字,代表士兵的等级,等级高的士兵可以教等级地的士兵,但要求每个士兵最多只能教一个士兵,且每个士兵最多是能有一个老师。抽象的说就是,将一串数尽可能少的分成几组满足每一组里的数字各不相同。题解: 一开始没注意题目条件,觉得贪心可做,这道题无非是要求出现次数最多的数字出现了多少次 后来发现数字最多30位,long long最多只能存19位的数字原创 2016-07-30 22:25:17 · 336 阅读 · 0 评论 -
POJ1961->KMP
POJ1961->KMP题目大意: 给你一个字符串,求他之前大于1的循环节. 比如aabaabaabaab,长度为12.到第二个a时,a出现2次,输出2.到第二个b时,aab出现了2次,输出2.到第三个b时,aab出现3次,输出3.到第四个b时,aab出现4次,输出4题解: next数组的运用 KMP的前缀函数处理出来的前缀数组表示当当前字符失配后,要向前调到哪一个位置可以继续原创 2016-08-15 19:37:41 · 431 阅读 · 0 评论 -
KMP介绍->POJ3461
KMP算法介绍KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字(接下来称它为P),如果它在一个主串(接下来称为T)中出现,就返回它的具体位置,否则返回-1(常用手段)。详解算法可以参考,写的非常详细: http://www.cnblogs.com/yjiyjige/p/3263858.html题意: 求一个原创 2016-08-01 02:13:17 · 292 阅读 · 0 评论