"本人是蒟蒻,各位看官见笑了。" 复习一下AC自动机,感觉AC自动机还总是写不好…后缀数组和KMP的题目还没有写过。Trie树的题目只写了裸题,把POJ上那道异或的题目做掉才算理解了字典树的精髓… 网络流基本上只写过裸题,写费用流,然后学习最小割,最大密度子图,有上下界的网络流…二分图真的不会,学匈
分类:
其他好文 时间:
2016-02-22 00:18:36
阅读次数:
202
// 2016_2_20_trietree.cpp : Defines the entry point for the console application.// #include <iostream>#include <string.h>using namespace std; #define
分类:
其他好文 时间:
2016-02-20 17:37:06
阅读次数:
186
思路: AC了很爽。一开始看题的时候把要求的东西给搞反了,是用字母去找相应的数字出现次数。 只要用数字构建个Trie树,然后将每次输入进来的字母字符串给转换成数字,然后search一下就可以。 其中要注意end和id的灵活运用 AC代码: #include <iostream> #include <
分类:
其他好文 时间:
2016-02-19 12:33:11
阅读次数:
106
近期在学习的时候,常常看到使用Trie树数据结构来解决这个问题。比方“ 有一个1G大小的一个文件。里面每一行是一个词。词的大小不超过16字节,内存大小限制是1M。返回频数最高的100个词。” 该怎样解决? 有一种方案就是使用Trie树加 排序实现 。 什么是Trie 树呢?也就是常说的字典树,网上对
分类:
编程语言 时间:
2016-02-17 10:55:24
阅读次数:
185
统计难题 Problem Description Ignatius近期遇到一个难题,老师交给他非常多单词(仅仅有小写字母组成,不会有反复的单词出现),如今老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). Input 输入数据的第一部分是一张单词表,每行一个单词,单词的长度不超过
分类:
其他好文 时间:
2016-02-10 14:18:49
阅读次数:
178
挺有意思的一道题,思路肯定是将图转化为Trie树,这样可以求得字典序。然后,按照trie的层次求解。一直wa的原因在于将树转化为线性数据结构时要从原树遍历,从trie遍历就会wa。不同结点可能映射为trie上的同一结点,如1->2 (a) 1->3(a) 2->4(b), 这是trie的结构是RT-
分类:
其他好文 时间:
2016-02-06 18:22:24
阅读次数:
219
字典树又叫trie树,利用字符串的公共前缀来降低查询时间的开销,以及字符串的存储开销。所以经常被搜索引擎系统用于文本词频统计。 字典树的数据结构 #define MAX 26 typedef struct Tree { int count; //用来标记该节点是个可以形成一个单词,如果count!=
分类:
其他好文 时间:
2016-01-30 02:04:35
阅读次数:
172
B 树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点
分类:
编程语言 时间:
2016-01-27 23:03:11
阅读次数:
334
AC自动机是一种多模式匹配的算法。大概过程如下: 首先所有模式串构造一棵Trie树,Trie树上的每个非根结点都代表一个从根出发到该点路径的字符串。 然后每个结点都计算出其fail指针的值,这个fail指针就指向这个结点所表示字符串的最长存在的后缀所对应的结点,如果不存在就指向根:计算每个结点的fa
分类:
其他好文 时间:
2016-01-27 21:22:04
阅读次数:
246
Phone ListTime Limit:1000MSMemory Limit:65536KTotal Submissions:26328Accepted:7938DescriptionGiven a list of phone numbers, determine if it is consist...
分类:
其他好文 时间:
2016-01-26 23:40:06
阅读次数:
398