数据结构-Trie
lab104_yifan
这个作者很懒,什么都没留下…
展开
-
UVA 11732 - strcmp() Anyone?(Trie)
UVA 11732 - strcmp() Anyone?题目链接题意:给定一些字符串,要求两两比较,需要比较的总次数(注意,如果一个字符相同,实际上要还要和'\0'比一次,相当比2次)思路:建Trie树,每次建树过程中,后继后继结点就是相同结点需要比较两次ans + val * 2,否则就是不同结点ans + val,建完树就计算完了代码:#include原创 2014-08-01 00:52:27 · 1459 阅读 · 0 评论 -
UVA 11488 - Hyper Prefix Sets(Trie)
UVA 11488 - Hyper Prefix Sets题目链接题意:给一些01串,定义一个P(s)表示:拥有相同长度前缀的字符串个数 * 该前缀长度,求最大的P(S)思路:Trie,建好Trie树后dfs一遍记录答案最大值代码:#include #include #include using namespace std;const int SI原创 2014-08-02 17:11:10 · 1196 阅读 · 0 评论 -
UVA 1401 - Remember the Word(Trie+DP)
UVA 1401 - Remember the Word[题目链接]题意:给定一些单词,和一个长串,问这个长串拆分成已有单词,能拆分成几种方式思路:Trie,先把单词建成Trie,然后进行dp,dp[i]表示以i为开头的情况,然后每个状态只要在Trie树上找到相应的i开头的单词,然后dp[i] = sum{dp[i + len]}进行状态转移即可代码:#in原创 2014-07-31 11:01:00 · 1535 阅读 · 0 评论 -
UVA 1556 - Disk Tree(Trie)
UVA 1556 - Disk Tree题目链接题意:给定一些字符串,表示目录,要求输出整体目录的结构思路:跟Trie树差不多,只不过是每个结点存放的是一个字符串,利用map映射即可代码:#include #include #include #include #include #include #include using namespace原创 2014-08-20 15:11:55 · 3034 阅读 · 0 评论 -
UVA 1462 - Fuzzy Google Suggest(字典树+dfs)
UVA 1462 - Fuzzy Google Suggest题目链接题意:要模拟谷歌的模糊搜索,先有一些文本,然后每次输入一个单词查询,这个单词可以进行最多ti次操作,每次操作可以删除一个字符,修改一个字符,或增添一个字符,问这样这个单词最多可以匹配多少个前缀思路:先建好字典树,每个结点保存经过的次数,然后每次查询,就在字典树上进行dfs,对于找到的结点标记为2,路径标记原创 2014-08-22 20:59:51 · 1408 阅读 · 0 评论 -
UVA 1519 - Dictionary Size(Trie树)
UVA 1519 - Dictionary Size题目链接题意:有一个字典,里面包含一些词,要求组合新词,新词必须来自原字典,或者由原字典的字符串的非空前缀和非空后缀组成,问一共能组成多少个新词思路:建Trie树,可以求出不同的前缀和后缀个数,然后相乘,这样做会有一部分重复的比如Aaaa,aaaA的情况,就重复了,去重的方法可以推理出来假设前缀A后面有x个a,后缀原创 2014-08-19 00:41:48 · 1978 阅读 · 0 评论