
字典树
文章平均质量分 51
WerKeyTom_FTD
这个作者很懒,什么都没留下…
展开
-
[bzoj3166][HEOI2013]ALO
题目大意现有一个序列,一段长度>1区间的权值为区间内的次大值与区间内除次大值外的数的异或最大值。 例如:9 2 1 4 7 次大值为7,7 xor 9=14最大。 保证序列内元素两两不同。N<=50000,每个元素都不超过10^9.解决次大值我们考虑枚举一个数作为次大值,然后求出其最大往左和最大往右,那么显然,需要在这个区间内寻找与其异或最大的数。注意序列内的最大值永远不可能作为次大值。 我原创 2015-12-21 20:14:19 · 985 阅读 · 0 评论 -
[bzoj4134]ljw和lzr的hack比赛
题目大意每个点初始有两种颜色黑或白。 两人轮流操作,每次可以选择一个白色结点,把其到根路径上的点全部染成黑色。不能操作者输。 求先手所有可以使其必胜的第一步策略。搞一波首先把原树的所有黑点删去建一颗新树,方法为对于白色点x找到其到根路径上的最近白点然后把其当作父亲。 当然建出来的新东西其实是森林这个没有问题。 然后用sg[i]表示以i为根的子树的这个游戏的估价函数。 那么显然相当于枚举一点原创 2016-03-22 22:06:55 · 1484 阅读 · 0 评论 -
最大值
题目大意给定一个序列,求ai opt aj(i<ji<j)的最大值。 opt是and/or/xorxor一个数一个数插入进trie中每次查找一发 n log nand和or从高位向低位贪心 尽量使高位位运算后结果为1 我们可以枚举一个数作为必须在位运算中出现的数,然后找到一个数与其位运算结果最大。 假如是and的话,对于某一位,该数此位为1,则另一个数如果该位也能为1就强制该位是1,否则不原创 2016-10-31 15:19:59 · 527 阅读 · 0 评论 -
图书列表
题目描述模拟这种题瞎模拟 我是建了个trie,对于图书和目录分开来存储。一个字符串用它在哈希表的位置作为数值。 然后输出的时候,把一个节点的儿子按字典序排序#include<cstdio> #include<cstring> #include<algorithm> #include<map> #define fo(i,a,b) for(i=a;i<=b;i++) using namespace原创 2016-10-31 15:39:32 · 478 阅读 · 0 评论 -
旅游路线
题目描述A君准备在Z国进行一次旅行,Z国中有n个城市,城市从1到n进行编号,其中1号城市为Z国首都。Z国的旅行交通网由n-1条单向道路构成,并且从任何一个城市出发都可以通过旅行网到达首都。 一条旅行交通网中的旅行线路,可以用线路上所经过的城市来描述,如{v1,v2,v3,……,vm},它表示一条经过了m个城市的旅行路线,且城市vi到城市vi+1有一条单向道路相连。 两个城市是相似的,当且仅当他们原创 2017-04-18 10:37:16 · 742 阅读 · 0 评论 -
[HAOI2017]供给侧改革
题目描述做法lcp长度不超过t,这个概率为1-(1-1/2^t)^(n^2)。 t可以取40。 离线扫描,把询问挂在右端点。 每一个位置把从它开始后长度为40的字符串丢入trie中。 可以在trie的每一个结点保留当前子树中位置最大的两个。 然后可以线段树维护一发。 每次区间max标记可以考虑暴力,均摊复杂度是对的。 你可能不知道我在说什么因为我说的很不详细。#include<cstd原创 2017-06-10 17:22:57 · 1016 阅读 · 0 评论 -
生命之树
题目大意ansu=∑i在u子树中∑j在u子树中且i<j(vi xor vj)∗LCP(Si,Sj)ans_u=\sum_{i在u子树中}\sum_{j在u子树中且i<j}(v_i\ xor\ v_j)*LCP(S_i,S_j) 每个点都有点权v和一个字符串S,求ans[]。做法可以想到把v拆位做于是现在变成了黑白树。 可以想到dsu on tree,trie上节点记录子树内某个颜色的数量即可。原创 2017-09-15 21:56:49 · 406 阅读 · 0 评论 -
[2017集训队作业自选题#154]简单数据结构题
题目大意一颗点权树,初始点权均为0。 每次操作将所有距离x为1的点点权+1,然后希望你求出距离x为1的点点权异或和。一个转化把修改分成儿子修改和单点修改,把询问分成儿子询问和单点询问。 每次相当于x的儿子修改+x的父亲单点修改,询问类似。根号算法发现一个点儿子的点权种类数最多根号种。 不妨用链表(动态桶)维护每种点权出现次数。正解注意到x^(x+1)=2*lowbit(~x)-1。 我们不妨原创 2017-11-14 12:00:56 · 1180 阅读 · 0 评论