随笔分类 -  字符串-trie

摘要:题目链接 "BZOJ4896" 题解 $thu$怎么那么喜欢出$trie$树的题。。。 我们当然可以按题意模拟建$trie$ 询问的时候,由于存在删除操作,不满足单调性,不能直接二分答案 我们就在每个节点上用$vector$储存每个值第一次出现的时间点 每次询问找到那个点二分一下即可 阅读全文
posted @ 2018-05-25 09:55 Mychael 阅读(230) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4103" 题解 一眼看过去是二维结构,实则未然需要树套树之类的数据结构 区域异或和,就一定是可持久化$trie$树 观察数据,$m$非常大,而$n$和$p$比较小,甚至可以每次询问都枚举$x_i$ 所以我们可以考虑对$y_i$建$trie$,每次询问取出对应区间的$x_i$在对 阅读全文
posted @ 2018-05-24 20:11 Mychael 阅读(204) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4567" 题解 题意真是鬼畜= = 意思就是说我们应先将一个串的所有后缀都插入之后再插入这个串,产生代价为其到上一个后缀的距离 我们翻转一下串,转化为前缀,就可以建$trie$树来解决了 建好$trie$后单独取出单词节点,贪心先往子树小的节点编号即可 C++ include 阅读全文
posted @ 2018-05-24 09:50 Mychael 阅读(193) 评论(0) 推荐(0)
摘要:题目链接 "BZOJ4592" 题解 可持久化trie树裸题 写完就A了 C++ include include include include include include define Redge(u) for (int k = h[u],to; k; k = ed[k].nxt) defin 阅读全文
posted @ 2018-05-17 10:44 Mychael 阅读(316) 评论(0) 推荐(0)
摘要:题目 Welcome to ALO ( Arithmetic and Logistic Online)。这是一个VR MMORPG , 如名字所见,到处充满了数学的谜题。 现在你拥有n颗宝石,每颗宝石有一个能量密度,记为ai,这些宝石的能量 密度两两不同。现在你可以选取连续的一些宝石(必须多于一个) 阅读全文
posted @ 2018-04-25 18:20 Mychael 阅读(257) 评论(0) 推荐(0)
摘要:题目 FOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和。 即对于一个询问,你需要求出max(Ai xor Ai+1 xor Ai+2 ... xor Aj),其中l include include include define LL long long i 阅读全文
posted @ 2018-04-03 21:17 Mychael 阅读(207) 评论(0) 推荐(0)
摘要:题目 给定一个非负整数序列{a},初始长度为N。 有M个操作,有以下两种操作类型: 1、Ax:添加操作,表示在序列末尾添加一个数x,序列的长度N+1。 2、Qlrx:询问操作,你需要找到一个位置p,满足l include include include include define LL long 阅读全文
posted @ 2018-04-02 21:26 Mychael 阅读(144) 评论(0) 推荐(0)