随笔分类 - 数据结构
摘要:Preface \(01Trie\) 是指字符集为 \(\{0, 1\}\) 的 \(Trie\)。 \(01Trie\) 可以用来维护一些数字的异或和,支持修改(删除 + 重新插入),和全局加 \(1\)(即:让其所维护所有数值递增 \(1\),本质上是一种特殊的修改操作)。 Operation
阅读全文
摘要:模板题 解析 先转化一下,发现每次放一个立方体,就是对一个二维平面赋值,最后查询其实就是查询二维平面的最大值。 本体强制在线,所以就要用到我们的二维线段树。 刚开始学树套树的时候很容易因为什么对外层建一棵树,对内层建一棵树而懵逼,但是其实写一下就能搞懂了。 我们对 \(x\) 轴维护一颗线段树,线段
阅读全文
摘要:粉刷宿舍 题目描述 金秋九月,\(yukiii\) 来到了大学校园,开启一段全新的生活。 但在此之前,\(yukiii\) 还要将年久失修的宿舍进行翻新。 现在他和友正粉刷的墙壁。 宿舍的墙壁可以抽象为一个有限但足够大网格,中部分都已经被 \(yukiii\) 的舍友们粉刷完毕,只剩下 \(𝑛\)
阅读全文
摘要:题意 在一棵有根树选择某些节点使得在它们的费用和在不超过某个值的条件下选择节点的个数与它们的某个公共祖先的领导力的乘积最大。 解析 即使最开始的时候先想的是贪心,在手玩一下之后我们也可以很自然的想到树形dp。 那么我们考虑怎么将子节点的信息转移到当前节点上。 我们设 \(dp_x\) 表示在以 \(
阅读全文
摘要:三角 \(ZGY\) 有一个三角,就像下面这样(每一个点都有一个权值)。 第 \(1\) 层有 \(1\) 个,第 \(2\) 层有 \(2\) 个,第 \(i\) 层有 \(i\) 个。 这个三角一共有 \(n\) 层,\(ZGY\) 每次可以从第 \(i\) 层的第 \(j\) 个走到第 \(i
阅读全文
摘要:Rmq Problem / mex 题面 解析 分块很容易想,不过这道题的需要靠脸卡常。 于是考虑维护一个可持久化值域线段树,树上维护每个值最后一次出现的位置,每个版本作时间维,即表示序列的前 \(i\) 个。 所以我们直接在询问区间的右端点的版本对应的线段树上找到最小的最后一次出现的位置小于询问区
阅读全文
摘要:题面 异或粽子 题解 将题意转化一下就是,对于一个大小为 \(n\) 的数组,求出前 \(k\) 大的不重复的区间异或和的和。 我们记录一下区间前缀异或和。那么一个区间的异或和就可以表示为 \(sum[r]\ xor\ sum[l - 1]\)。 那么我们要求的就是形如这样的最大的 \(k\) 对异
阅读全文
摘要:题面 Monkey King 题解 思路很显然,我们对每个猴子和它的朋友的集合维护一个堆,因为每次取出的是最大值,所以我们维护一个大根堆,因为打完架后,猴子互相认识,对应的是合并这两个堆,所以我们要维护的是可合并式堆,于是可以用很好写的左偏树进行维护。 对于削弱操作,直接先把堆顶的猴子取出来,删除这
阅读全文
摘要:题面 The Child and Sequence 题解 区间和和单点修改是我们熟悉的。 但是对于第二种区间取模操作,我们不难发现,如果按照类似于区间加,维护一个懒标记的话,是很难维护的,因为它很不好合并。 如果做过花神游历各国,可以类比一下区间开方的操作,暴力修改。 但是区间开方开个几次就变成 \
阅读全文
摘要:题面 Almost Union-Find 题解 维护一种数据结构,支持合并两个集合,将一个元素转移到另一个集合,询问集合的大小和元素和。 不难发现,第一和第三种操作就是普通的并查集就能维护的,只有第二种操作略微有些不同。 如果我们用普通的并查集来维护第二种操作,那么当被转移元素为某个集合的代表元素时
阅读全文
摘要:题面 Yuno loves sqrt technology III 题解 一道很水的黑题。 做过蒲公英的同学应该都知道这和蒲公英很类似。 不同的是它维护的是区间众数的个数。 因为区间众数不具有可加性,再加上强制在线,显然是用分块来维护。 首先正常分块。 预处理块内信息时的整合就直接 \(\sqrt(
阅读全文
摘要:题面 方差 方差2 一道适合巩固带 tag 标记的线段树写法的题。 题解 此题解为 t1 题解,t2更为简单一些,不过可以练一下除法取模。 平均数维护很简单吧,只需要维护区间和即可。 方差公式为: \(\frac{1}{n} * \sum_{i = l} ^ {r} (a_i - \bar a) ^
阅读全文
摘要:树状数组 特点 树状数组 \(c[x]\) 维护序列 \(a\) 的区间 \([x - lowbit(x) + 1 , x]\) lowbit(x) = x & -x; 性质 (摘自小蓝书) $c$保存以它为根的子树中所有叶节点的信息和 $c$的儿子节点(含它本身)的个数等于 \(lowbit(x)
阅读全文
摘要:题面 蒲公英 解析 前言 一道从黑掉到紫的阴间分块题。。。 显然是一道求静态区间众数题。 因为区间众数不具有可加性,用线段树,树状数组的数据结构并不好维护,再加上本题的数据范围和两秒的限制,所以本题可以分块。 暴力做法 瞎搞能拿70 ~ 80 分,这里就不赘述了。 分块做法 正常分块,不过维护的信息
阅读全文
摘要:题面 Pudding Monsters 问题描述 由于各种原因,桐人现在被困在 \(Under World\)(以下简称 \(UW\))中,而 \(UW\) 马上要迎来最终的压力测试——魔界入侵。 唯一一个神一般存在的 \(Administrator\) 被消灭了,靠原本的整合骑士的力量 是远远不够
阅读全文

浙公网安备 33010602011771号