trie树
文章平均质量分 71
Unin88
这个作者很懒,什么都没留下…
展开
-
HDU 1671 Phone List
初识前缀树 详细的记录一下各点! 1.节点数:单词数*单词长 2.节点定义,初始化,插入单词,询问 下面模拟一下前缀树的建立过程 看下面建好的前缀树: 插入911时我们记录三号结点有单词生成 插入972625999时我们记录11号结点有单词生成 插入91125426时我们发现3号结点已经有单词生成,因此是NO AC代码: #include #includ原创 2014-10-16 22:03:24 · 347 阅读 · 0 评论 -
UVA 1401 Remember the Word
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36217 问一个单词可以如何用所给的一系列单词拆分 问题分析: a bcd ab cd abc d abcd 很容易想到递归:dp[i] = sum(dp[i+len])其中dp[i]是指字符串从i开始的后缀有多少种拆分方式,len是字典中给出的前缀的长度原创 2014-12-23 15:23:13 · 363 阅读 · 0 评论 -
hdu 1247 Hat’s Words
http://acm.hdu.edu.cn/showproblem.php?pid=1247 因为是两个词拼接,因此我们可以建两棵前缀树 遍历时分别记录true的位置看是否匹配。MLE无数发!也是醉了! AC代码: #include #include #include #include #include #include using namespace std; co原创 2014-12-23 23:03:53 · 340 阅读 · 0 评论 -
poj 2001 Shortest Prefixes
为给出的每一个单词寻找一个可以代表它的前缀。可以使用字典树,统计结点被遍历的次数,如果只被遍历过1次那么证明是可用的前缀。 AC代码: #include #include #include #include #include using namespace std; const int MAX = 1010*25; int cnt; char s[1010][25]; stru原创 2015-02-03 11:09:02 · 332 阅读 · 0 评论 -
poj 2513 Colored Sticks
poj.org/problem?id=2513 欧拉路径裸体 唯一需要注意的是给每个颜色一个序号 这个可以使用哈希 但是我使用的是前缀树 #include #include #include #include #include #include using namespace std; const int MAX = 500010; const int INF = 0x3f3f原创 2015-01-17 13:41:06 · 402 阅读 · 0 评论