随笔分类 - 数据结构
摘要:$\DeclareMathOperator{\lowbit}{lowbit}$ 对于正向树状数组,$a_i$ 表示 区间 $(i \lowbit(i), i]$ 中的信息,对于反向树状数组 $a_i$ 表示区间 $[i, i+\lowbit(i))$ 中的信息。 正向树状数组支持查询区间 $[1,i
阅读全文
摘要:```c++ struct dl{ // x: line, y: column struct node{ int c, left, right, up, down; }; vector a; using vec = vector; using mat = vector; vec cnt; // 构造
阅读全文
摘要:Overview 给出平面上两两不重合的$n$个整点, 求每个点到它在其他$n 1$个点的最近临点的欧几里得距离的平方. Solution k d tree 模板题. 关于k d tree, 见 "这篇博客" . Implementation c++ include define lson id 1
阅读全文
摘要:这篇随笔是对Wikipedia上 "k d tree" 词条的摘录, 我认为对该词条解释相当生动详细, 是不可多得的好文. Overview A $k$ d tree (short for $k$ dimensional tree) is a binary space partitioning tr
阅读全文
摘要:传送门 To the moon Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description Background To The Moon is a indep
阅读全文
摘要:传送门 Tree Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 102400/102400 K (Java/Others) Problem Description Zero and One are good friends who alw
阅读全文
摘要:时间限制:10000ms单点时限:1000ms内存限制:256MB描述给定一个包含 $N$ 个整数的数组 $A$ 。你的任务是将 $A$ 重新排列,使得任意两个相等的整数在数组中都不相邻。 如果存在多个重排后的数组满足条件,输出字典序最小的数组。 这里字典序最小指:首先尽量使第一个整数最小,其次使第
阅读全文
摘要:给定数组$A[1...N]$, 区间$[L,R]$中第$K$大/小的数的指将$A[L...R]$中的数从大到小/从小到大排序后的第$K$个. "静态"指的是不带修改. 这个问题有多种做法: 1. 归并排序 POJ 2104, 静态区间第K小 这种做法的想法是将归并排序的过程记录下来, 这样就形成了一
阅读全文
摘要:有根树 任意指定无根树的某个顶点 $v$ 作为根便得到有根树。下面只讨论有根树。把点 $u$ 和其父亲之间的边称为 $u$ 的父边;除根节点外,点 $u$ 和 $u$ 的父边一一对应。 有根树结构的核心特征是每个节点有唯一前驱,但有多个后继。线性结构的核心特征是每个节点有唯一前驱和唯一后继。若能给每
阅读全文
摘要:传送门 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在 Warcraft III 之冰封王座中,毁灭者是不死族打三本后期时的一个魔法飞行单位。 毁灭者的核心技能之一,叫做魔法吸收(Absorb Mana): 现在让我们来考虑下面的问题: 假设你拥有 n 个魔法单位,
阅读全文

浙公网安备 33010602011771号