2013年9月12日

HDU1251 - 统计难题(Trie树)

摘要: 题目大意 Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为前缀的单词数量(单词本身也是自己的前缀). 题解 把单词插入到Trie树中,Trie树的每个结点记录以此结点结尾的单词前缀出现的次数,每次把进行单词插入的时候把沿途经过的结点+1即可 代码: #include #include #include #include... 阅读全文

posted @ 2013-09-12 21:43 仗剑奔走天涯 阅读(185) 评论(0) 推荐(0) 编辑

HDU1075 - What Are You Talking About(Trie树)

摘要: 题目大意 给定一些火星文单词以及对应的英语单词,然后给你一些火星文,要求你翻译成对应的英文 题解 第一次写Trie树! 把所有火星文单词插入到Trie树中,并且每个火星文单词结尾的节点记录相应英文单词的位置,然后进行查询即可~~~~ 代码: #include #include #include #include #include #include using namespace std;const... 阅读全文

posted @ 2013-09-12 20:21 仗剑奔走天涯 阅读(233) 评论(0) 推荐(0) 编辑

Trie树模板~~~

摘要: const int maxnode = 4000 * 100 + 10;const int sigma_size = 26;// 字母表为全体小写字母的Triestruct Trie { int ch[maxnode][sigma_size]; int val[maxnode]; int sz; // 结点总数 void clear() { sz = 1; memset(ch[0], 0, sizeof(ch[0])); } // 初始时只有一个根结点 int idx(char c) { return c - 'a'; } // 字符c的编号 // 插入字符串s,附加信息为v。 阅读全文

posted @ 2013-09-12 14:03 仗剑奔走天涯 阅读(186) 评论(0) 推荐(0) 编辑

导航