![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
字典树
Nightmare丶
登高必自卑,行远必自迩
展开
-
[AHOI2005]VIRUS 病毒检测(Trie树)
题意: 给你一个病毒模板片段(‘*’表示可以匹配上0个或任意多个字符,‘?’表示匹配任意一个字符),然后给你n个字符串,询问有多少个字符串不是病毒 题解: 将待检测串一起扔进Trie树,然后用病毒模板去dfs,将与病毒模板匹配成功的减去就好了,注意细节就行 AC代码: #include<bits/stdc++.h> using namespace std; typedef long ...原创 2019-11-24 15:37:36 · 182 阅读 · 0 评论 -
[Wannafly挑战赛14 B 前缀查询](Trie+线段树)
题意: 在一个 Minecraft 村庄中,村长有这一本小写字母构成的名册(字符串的表), 每个名字旁边都记录着这位村民的声望值,而且有的村民还和别人同名。 随着时间的推移,因为没有村民死亡,这个名册变得十分大。 现在需要您来帮忙维护这个名册,支持下列 4 种操作: 1. 插入新人名 si,声望为 ai 2. 给定名字前缀 pi 的所有人的声望值变化 di 3. 查询名字为 sj 村民们的声望值的...原创 2019-11-24 14:30:11 · 122 阅读 · 0 评论 -
Codeforces C. Spy Syndrome 2
题意: 给你一个长度为n的字符串S,和m个字符串T,询问能不能用这些字符串T将他们倒序,然后组成S 题解: 将这些m个字符串T,倒序放入Trie树中,然后用S在Trie树上匹配就好了 AC代码: #include<bits/stdc++.h> using namespace std; const int MAXN = 1e5+50; const int MAXM = 1e6+50; ...原创 2019-11-17 22:25:19 · 95 阅读 · 0 评论 -
BZOJ 4477: [Jsoi2015]字符串树
Description 萌萌买了一颗字符串树的种子,春天种下去以后夏天就能长出一棵很大的字 符串树。字符串树很奇特,树枝上都密密麻麻写满了字符串,看上去很复杂的样 子。 【问题描述】 字符串树本质上还是一棵树,即N个节点N-1条边的连通无向无环图,节点 从1到N编号。与普通的树不同的是,树上的每条边都对应了一个字符串。萌萌 和JYY在树下玩的时候,萌萌决定考一考JYY。每次萌萌都写出一个字符串S和...原创 2019-11-07 23:09:26 · 185 阅读 · 0 评论 -
BZOJ 3261: 最大异或和
Description 给定一个非负整数序列a{a}a,初始长度为NNN。 有MMM个操作,有以下两种操作类型: 1、AxA xAx :添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2、QlrxQ l r xQlrx :询问操作,你需要找到一个位置ppp,满足l<=p<=rl<=p<=rl<=p<=r,使得: a[p]a[p]a[p] xor...原创 2019-11-07 20:18:55 · 143 阅读 · 0 评论 -
P2292 [HNOI2004]L语言
题意:第一行两个整数n,m表示字典中有n个单词,之后m次询问,每行一个字符串表示文章,对于输入的每一段文章,你需要输出这段文章在字典中可以被理解的最长前缀的位置。 题解:考虑构建字典树,将字典的字符扔里面,然后考虑询问,我们可以先跑一次循环,找出文章在字典树中能匹配的位置,然后再次搜索出从标记过的地方又能匹配到的地方,寻求最大值,具体细节见代码 #include<bits/stdc++.h&...原创 2019-10-26 15:08:11 · 165 阅读 · 0 评论