06 2021 档案
摘要:yLOI 2019 棠梨煎雪 用线段树维护两个合并规则不同的值对刚学 OI 的 MnZn 不是很友好,于是就有了这篇题解。 题意 给 \(m\) 个长 \(n\) 的 0/1 串,串中存在 ? 字符表示既可以是 0,也可以是 1。 要求支持: 单点修改 将指定串改为给出的新串。 区间查询 查询一个区
阅读全文
摘要:最小费用最大流问题 前置知识 关于网络最大流, 这是本博客需要用到的两个算法: 网络最大流·初步 另外还有效率更高, 可是最小费用最大流不会用到的两个算法: 网络最大流·进阶 前置知识就只有第一篇博客的内容, 需要提前学习完再来看费用流. 简介 最小费用最大流问题, 简称费用流问题, Wikiped
阅读全文
摘要:网络最大流·Advanced 历史背景 对于网络流的初步, 半年前我写过一篇文章总结, Dinic 先生的两个算法. 在后来的日子里, 陆续有别人学习了最大流算法, 在议论着算法效率问题, 其中胜出者是@sxy, 他用 Dinic 某个神奇优化以最慢的一个点的时间为 \(70ms\) 左右的成绩赢得
阅读全文
摘要:长链剖分 树链剖分可以分为三种, 分别是重链剖分, 动态树 (实链剖分) 和长链剖分 (Long Path Decomposition). 长链剖分的规则是将子树包含最深的后代的儿子设为 "长儿子", 然后将到长儿子的边称 "长边", 长边组成的链称 "长链", 其余的边都是 "短边". 和重链剖分
阅读全文
摘要:k-d tree 定义 一种平衡树, 维护 \(k\) 维空间中的点的信息. 每个节点表示一个点, 每个子树表示对应的 \(k\) 维超长方体. 这样说可能过于抽象, 那就先分析特殊情况, 因为 \(k = 1\) 的时候, 维护的信息是序列上的, 所以这时的 1-d Tree 就是普通平衡树. \
阅读全文
摘要:替罪羊树(Scapegoat_Tree) 定义 一种平衡树, 能达到宗法树和 Treap 的常数, 不用旋转维护自己的平衡, 逻辑和宗法树类似, 在左右子树极度不平衡时维护它的平衡性, 只不过宗法树是旋转, 比较温和, 而替罪羊树采用的是重构左右子树这种比较激进的策略. 所以替罪羊树不需要旋转. 和
阅读全文
摘要:树套树 这是一种思想, 不是什么特定的数据结构, 不过实现起来一般都是从外层的树形数据结构的每个节点上, 挂一个内层树形数据结构的根的指针, 这样, 本来是要查询或修改外层节点的信息的行为, 变成了在外层某节点对应的内层数据结构上查询或修改某种信息. 容易发现, 这种思想非常占空间, 所以一般这种数
阅读全文
摘要:宗法树 (Weight Balanced Leafy Tree) 宗法是西周的重要政治制度. 宗法制以血缘关系为基础, 核心是嫡长子继承制, 起着维护西周政治等级制度和稳定社会秩序的作用. Wikipedia 宗法树, 简称 WBLT. 这种数据结构最广泛的用途是做平衡树, 然而它除了 LCT 几乎
阅读全文
摘要:子序列自动机 (Subsequence Automaton) 时隔两个月回来学自动机. 子序列自动机可以在线性时间识别一个字符串 \(a\) 是否是 \(s\) 的子序列. 首先考虑 \(s\) 没有重复字符的情况, 那么 \(s\) 的子序列就是 \(2^{Len_s}\) 种, 分别是每个字符选
阅读全文
摘要:CDQ 分治 二元关系 有两个集合 \(A\), \(B\), 他们的笛卡尔积 \(A \times B\) 是 \(|A|\times|B|\) 个点对构成的集合, 即 \(A\) 中的每个元素和 \(B\) 中每个元素组成的有序点对. 定义 \(A \times B\) 的一个子集 \(R\),
阅读全文
摘要:左偏树 左倾树 (Left Deviation Tree) 左偏树 (Leftist Trees) 是最常见的可并堆, 初始 \(n\) 个单点作为 \(n\) 个堆, 可以均摊 \(O(logn)\) 地维护 \(n\) 个堆的关系. 不失一般性, 本文只分析小根堆. 外节点 一棵二叉树, 如果把
阅读全文
摘要:Day10 太难了, 没什么好整了. 那么多人 AK, 我这一场考试只有 \(8'\), 退役了.
阅读全文
摘要:Day9 博物馆半日游 Tree 这是第几个 tree 了... 规定合法的移动是从一个点走到它的子树中任意一个除它以外的点或是停止移动. 对一棵 \(n\) 个点的树 \(T\), 设 \(f_i\) 为一个节点的合法移动种类数, 求 \(\displaystyle{\sum_{i}f_i}\).
阅读全文
摘要:Day8 Color 这道题的优化是真的爽, 考场上的代码我存了 \(6\) 个版本, 每个版本都有大改, 有时候能优化掉一个复杂度, 而且越快的版本貌似码量越少. 开始的开始, 写了二维的 DP, \(f_{i, j}\) 表示第 \(i\) 个格子是第 \(j\) 个连续的白格子的方案数, 结果
阅读全文
摘要:Day7 又是只整了一道题的一天 Tree 给一棵点带权的树, 分成两个集合 \(A\) 和 \(B\), \(A\) 的权值是集合中 \(i\) 是 \(j\) 的祖先, 且 \(V_i > V_j\) 的无序点对数加 \(i\) 和 \(j\) 无直系关系 (不存在一个点是另一个点的祖先) 的无
阅读全文
摘要:Day6 由于这一天的 T1 过于值得整理, 一道题就干了我 \(10000\) 个字符的篇幅, 所以貌似今天只整了一道题, 但是这道题费了我一整天的时间, 还连累黄文鹤 00:30 都没睡. 这就是 Day6 了. City 给四个点, \(s_1\), \(s_2\), \(t_1\), \(t
阅读全文
摘要:Day5 Gp 维护一个序列, 支持: 单点修改 (颜色和权值) 从 \(s\) 点往后, 选择一些连续的, 颜色不重复的点, 可以跳过 \(k\) 个点, 也可以直接结束选择, 求最大合法权值和. 考场上写了一个 \(nmlog^2n\) 的做法, 建 \(O(n)\) 棵动态开点线段树, 每个颜
阅读全文
摘要:Day4 Gp 原题: Joi 2012 Kangaroo \(300\) 个套娃, 容量 \(Contain\) 一定小于体积 \(Size\), 一个匹配是指不存在还有套娃能放在另一个套娃中的情况. 给出每个套娃的 \(Size\) 和 \(Contain\), 求合法的不同的匹配情况数量对 \
阅读全文
摘要:Day 3 今天本来能和 \(23\) 个人并列第 \(7\), 但是可惜我最后害怕炸了加了一句特判, 挂了 \(30'\), 可惜. Zuiqianyande 定义 \(f_x\) 是 \(x\) 所有因子的亦或和, 求 \(f_1\) 到 \(f_n\) 的异或和. 本来能拿三天以来第一个正解,
阅读全文