(1)字典树(Trie树) Trie是个简单但实用的数据结构,通常用于实现字典查询。我们做即时响应用户输入的AJAX搜索框时,就是Trie开始。本质上,Trie是一颗存储多个字符串的树。相邻节点间的边代表一个字符,这样树的每条分支代表一则子串,而树的叶节点则代表完整的字符串。和普通树不同的地方是,....
分类:
其他好文 时间:
2015-06-24 22:29:16
阅读次数:
197
题目链接:http://poj.org/problem?id=2778题意:有m种DNA序列是有疾病的,问有多少种长度为n的DNA序列不包含任何一种有疾病的DNA序列。(仅含A,T,C,G四个字符)思路:Trie图的状态转移,用矩阵mat[i][j]来表示从结点i到j只走一步有几种走法,那么mat的...
分类:
其他好文 时间:
2015-06-24 22:20:25
阅读次数:
180
hdu2457给定n个模式串, 和一个文本串问如果修改最少的字符串使得文本串不包含模式串,输出最少的次数,如果不能修改成功,则输出-1dp[i][j] 表示长度为i的字符串, 到达状态j(Trie图中的结点)所需要修改的最少次数那么dp[0->n][0->size] = INF , dp[0][ro...
分类:
其他好文 时间:
2015-06-22 22:05:06
阅读次数:
433
AC自动机是KMP的多串形式,当文本串失陪时,AC自动机的fail指针告诉我们应该跳到哪里去继续匹配(跳到当前匹配串的最长后缀去),所以AC自动机的状态是有限的但是AC自动机具有不确定性, 比如要求x结点的孩子c的fail指针(x->next[c]->fail), 如果x的fail指针指向的结点没有...
分类:
其他好文 时间:
2015-06-21 23:40:40
阅读次数:
208
PKU 1204Word Puzzles题目的大意为:要求编程实现查找字谜拼图中的单词,输出查找到的单词的起始位置和方向(ABCDEFGH分别代表北、东北、东、东南、南、西南、西、西北八个方向)。输入:输入的第一行包含三个正数:行数,0<L<=1000;列数,0<C<= 1000;和字谜单词个数0<...
分类:
其他好文 时间:
2015-06-20 15:33:03
阅读次数:
136
#include
using namespace std;
const int N=5*1e4+100;
const int MOD=998244353;
#pragma comment(linker,"/STACK:102400000,102400000")
int n,m,k,tot;
char word[N][27];
typedef long long LL;
struct dictr...
分类:
其他好文 时间:
2015-06-20 00:22:41
阅读次数:
204
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5269 ,BestCoder Round #44的B题,关于字典树的应用。 比赛的时候没想出做法,现在补上。题解: 我们考虑,当lowbit(A xor B) = 2p时,A和B表示的二进制数的后...
分类:
其他好文 时间:
2015-06-19 20:14:59
阅读次数:
112
数论/Trie/并查集猜数 这题我是这样分析的…… $a*b=g*l=n=k^2 \ and \ (g|a,g|b) \Rightarrow (g*a^')*(g*b^')=g*l=k^2 \Rightarrow a^' * b^' =\frac{l}{g}={\frac{k}{g}}^2 \R.....
分类:
其他好文 时间:
2015-06-19 13:16:51
阅读次数:
80
#include #include #include #include using namespace std; int t,n;bool ok;string str; struct Trie { Trie *next[26]; int num;}; void inser...
分类:
其他好文 时间:
2015-06-18 21:54:41
阅读次数:
119
Implement a trie withinsert,search, andstartsWithmethods.Note:You may assume that all inputs are consist of lowercase lettersa-z.思路: 构建一个简单的字典树,要求实现.....
分类:
其他好文 时间:
2015-06-18 16:51:09
阅读次数:
95