ACM_Trie树
luke2834
A junior researcher~
展开
-
Uva1401 Trie树 + 简单dp
题意 给你m个短字符串和一个长串,问你长串拆分成由短串组成的方法数。思路 dp[i] 表示从i开始的长串后缀,可以用短串组成的方案数。dp[i] += dp[i+len(x)] 其中x是从i开始的长串后缀的前缀,这个前缀属于短串集合。初始条件dp[n] = 1. 用短串建立Trie树,用长串后缀去在字典树上匹配,找到满足条件的短串,更新dp注意:Trie树原创 2015-04-05 16:25:26 · 660 阅读 · 0 评论 -
Uva11732 字典树的应用 邻接矩阵(或称左孩子,右兄弟法)保存字典树
题意 给你一些单词,给你一个字符串比较函数,所有单词比较字典序,问总比较的次数是多少。思路大体思路就是两个字符串,设公共前缀的长len,比较次数为2*len+1,若匹配成功则比较次数2*len+2.在字典树上保存,每个边经过的次数和每个节点在该节点结束的单词个数。边建树边计算。注意树很深,且单词数相对于树深较少,因此选择邻接矩阵保存字典树...(不这么做会被T死的......)原创 2015-04-05 21:59:59 · 658 阅读 · 0 评论 -
hihoCoder挑战赛17 A String Problem I 题库 1260
题意中文题:http://hihocoder.com/problemset/problem/1260思路建一个字典树,暴力dfs求解每个提问实现#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <vector>#include <map>#include <queue>原创 2015-12-27 22:34:05 · 456 阅读 · 0 评论 -
hihoCoder挑战赛17 B String Problem II hihoCoder 1261
题意中文题:http://hihocoder.com/problemset/problem/1261思路建一个字典树,暴力dfs求解每个询问注意的是,删除的处理和其它不同!实现#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>#include <vector>#include <map>原创 2015-12-27 22:39:22 · 375 阅读 · 0 评论 -
Codeforces 615C Running Track (Round #338 (Div. 2) C题) Trie + dp
题意给你两个字符串t,s你的目标是使用尽量少的t拼出s对于一个t,你可以做的是,只选取其中一个子串,正着或反着拼到s上最后需要拼出完整的s思路首先,题解说了一句贪心。。。然后我怎么也想不明白是咋样的贪心法。。。可能也和我没认真读题解有关。。我想的是,每次选取s中最长的可以由t得到的子串,这样贪心肯定是对的。但问题是s中有很多这样的子串时,我们不知道挑哪个?我一时想不明白了。。要是有恰好路原创 2016-01-10 23:27:03 · 516 阅读 · 0 评论 -
Leetcode 1032. Stream of Characters Trie树
题意一个数据结构题,给定一个字典,初始化一个数据结构。每次查询是给一个字符,返回的信息是一个bool类型的。如果存在一个K,使得从当前字符开始往前看K个构建的字符串落在字典中,则返回true否则false数据范围:1 <= words.length <= 2000,1 <= words[i].length <= 2000,查询总数不超过40000思路对字典中字...原创 2019-04-30 10:39:17 · 313 阅读 · 0 评论