
Trie
文章平均质量分 84
w4149
无
展开
-
BZOJ 2741 详解(分块 可持久化Trie树)
2741: 【FOTILE模拟赛】LTime Limit: 15 Sec Memory Limit: 162 MB DescriptionFOTILE得到了一个长为N的序列A,为了拯救地球,他希望知道某些区间内的最大的连续XOR和。 即对于一个询问,你需要求出max(Ai xor Ai+1 xor Ai+2 … xor Aj),其中l<=i<=j<=r。 为了体现在线操作,对于一个询问(x,原创 2017-07-26 19:40:53 · 773 阅读 · 1 评论 -
不正常国家 (树链剖分 可持久化Trie 启发式合并)
不正常国家9.27思路: 区间异或最值,应该就可以想到可持久化Trie了,区间异或最值的参考题解 我们找出dfs序,在dfs序上建可持久化Trie,root[i]就是一颗维护dfs序上[1,i]的Trie树。 我们考虑对于i点求它的ans,由于我们要保证选择的两个点的lca就是i,所以只有两种情况,一种就是其中一个点为i,第二种就是两个点在两个不同的子树里面,考虑把i单独看做一个部分,然后一个原创 2017-09-27 17:38:35 · 397 阅读 · 0 评论 -
Trie树上dfs跑 与 或 异或
Trie树上dfs跑与 或 异或【题目描述】 任务是写一个位运算数据库:需要能插入整数,并快速查找数据库中的一个整数与给定的整数x按位与/按位或/按位异或能得到的最大值。【输入格式】 第一行一个整数n,表示操作数。 接下来n行,每行两个正整数D,X。 若D=1,表示向数据库插入一个整数X。 若D=2,表示询问数据库中选择一个数与X按位与能得到的最大值。 若D=3,表示询问数据库中选择一个原创 2017-09-28 20:56:32 · 320 阅读 · 0 评论 -
lcp计数 (Trie)
lcp思路: 看着挺唬人的,其实是道水题。 考虑每个子串作为lcp的贡献,就是包含这个子串的字符串的两两组合。#include <cstdio>#include <algorithm>#include <cstring>#include <queue>#include <iostream>#define N 1000005#define LL long longusing name原创 2017-10-06 19:17:34 · 329 阅读 · 0 评论 -
big (Trie)
10.4思路: 每次操作相当于把前面几个数都在二进制意义下左移一位,然后与后面的所有数异或起来,再找x。 对手做的是将 x在二进制下左移一位,把超出二进制下n位的部分接到最后。而异或 i个数后左移等价于开始时先把前 i个数左移一位,再异或起来。 这是因为,这个运算只是二进制位上的位置变化,而对于按位异或时,二进制位置上的规律变化之后,不同数间的每个二进制位还是对的上的,而按位异或只要保证位置原创 2017-10-04 21:01:52 · 272 阅读 · 0 评论