随笔分类 - 数据结构 / 平衡树
摘要:前言 在日常的学习生活中,我们经常会遇到如下问题: 维护一个数据结构,可以插入或删除一个数、求该数排名、求排名给定的数、求一个数的前驱后继。 这种情况下,权值线段树可以不优雅的解决这个问题。为了找到更优雅、适应性更强的算法,人们发明了平衡树。平衡树已经渗透入大部分 \(OIer\) 的代码中。对于一
阅读全文
摘要:[SDOI2015] 寻宝游戏 题目大意 给你一棵树,边有边权,现在每个村庄可能会突然有宝藏,又可能会突然没宝藏。 若可以随意选择起点,问每次修改后从起点遍历完所有宝藏再回到起点的最短路径长度。 难度:七星(满分十星) 题解 注:\(dis(x,y)\) 为 \(x\) 到 \(y\) 的距离。 若
阅读全文
摘要:题目链接:\(BZOJ\) 本题通过 \(dyf\_DYF\) 的题解理解 \(ETT\),代码则借鉴 \(lcyfrog\) 的题解,图片则使用了何太狼的题解。在此笔者感谢这三位神犇。 声明变量: \(ls\):左儿子 \(rs\):右儿子 \(sz\):子树大小 \(rk\):对应堆值 \(fa
阅读全文
摘要:原题链接:\(luogu\)$\ \ $ \(BZOJ\)$\ \ $ \(LOJ\) 题目大意:有一个可以支持插入和修改的字符串,定义函数 \(\operatorname{LCQ(x,y)}\) 表示从 \(x\) 开始的后缀与从 \(y\) 开始的后缀的最长公共前缀。 声明变量: \(ls\):
阅读全文