摘要: yLOI 2019 棠梨煎雪 用线段树维护两个合并规则不同的值对刚学 OI 的 MnZn 不是很友好,于是就有了这篇题解。 题意 给 \(m\) 个长 \(n\) 的 0/1 串,串中存在 ? 字符表示既可以是 0,也可以是 1。 要求支持: 单点修改 将指定串改为给出的新串。 区间查询 查询一个区 阅读全文
posted @ 2021-06-29 18:39 Wild_Donkey 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 最小费用最大流问题 前置知识 关于网络最大流, 这是本博客需要用到的两个算法: 网络最大流·初步 另外还有效率更高, 可是最小费用最大流不会用到的两个算法: 网络最大流·进阶 前置知识就只有第一篇博客的内容, 需要提前学习完再来看费用流. 简介 最小费用最大流问题, 简称费用流问题, Wikiped 阅读全文
posted @ 2021-06-29 11:18 Wild_Donkey 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 网络最大流·Advanced 历史背景 对于网络流的初步, 半年前我写过一篇文章总结, Dinic 先生的两个算法. 在后来的日子里, 陆续有别人学习了最大流算法, 在议论着算法效率问题, 其中胜出者是@sxy, 他用 Dinic 某个神奇优化以最慢的一个点的时间为 \(70ms\) 左右的成绩赢得 阅读全文
posted @ 2021-06-29 11:17 Wild_Donkey 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 长链剖分 树链剖分可以分为三种, 分别是重链剖分, 动态树 (实链剖分) 和长链剖分 (Long Path Decomposition). 长链剖分的规则是将子树包含最深的后代的儿子设为 "长儿子", 然后将到长儿子的边称 "长边", 长边组成的链称 "长链", 其余的边都是 "短边". 和重链剖分 阅读全文
posted @ 2021-06-29 11:16 Wild_Donkey 阅读(207) 评论(0) 推荐(1) 编辑
摘要: k-d tree 定义 一种平衡树, 维护 \(k\) 维空间中的点的信息. 每个节点表示一个点, 每个子树表示对应的 \(k\) 维超长方体. 这样说可能过于抽象, 那就先分析特殊情况, 因为 \(k = 1\) 的时候, 维护的信息是序列上的, 所以这时的 1-d Tree 就是普通平衡树. \ 阅读全文
posted @ 2021-06-29 11:15 Wild_Donkey 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 替罪羊树(Scapegoat_Tree) 定义 一种平衡树, 能达到宗法树和 Treap 的常数, 不用旋转维护自己的平衡, 逻辑和宗法树类似, 在左右子树极度不平衡时维护它的平衡性, 只不过宗法树是旋转, 比较温和, 而替罪羊树采用的是重构左右子树这种比较激进的策略. 所以替罪羊树不需要旋转. 和 阅读全文
posted @ 2021-06-29 11:14 Wild_Donkey 阅读(110) 评论(0) 推荐(1) 编辑