Loading docs/ds/lct.md +10 −10 Original line number Diff line number Diff line Loading @@ -127,21 +127,21 @@ #### Splay 系函数(不会多做解释) 1. `Get(x)` 获取 x 是父亲的哪个⼉子。 2. `Splay(x)` 通过和 Rotate 操作联动实现把 x 旋转到<font color = "red">当前 Splay 的根</font>。 3. `Rotate(x)` 将 x 向上旋转一层的操作。 1. `Get(x)` 获取 $x$ 是父亲的哪个⼉子。 2. `Splay(x)` 通过和 Rotate 操作联动实现把 $x$ 旋转到<font color = "red">当前 Splay 的根</font>。 3. `Rotate(x)` 将 $x$ 向上旋转一层的操作。 #### 新操作 1. `IsRoot(x)` 判断当前节点是否是所在 Splay 的根。 2. `Access(x)` 把从根到当前节点的所有点放在⼀条实链里,使根到它成为一条实路径,并且在同一棵 Splay 里。 3. `Update(x)` 在 Access 操作之后,递归地从上到下 Pushdown 更新信息。 4. `MakeRoot(x)` 使 x 点成为整棵辅助树的根。 5. `Link(x, y)` 在 x, y 两点间连⼀一条边。 6. `Cut(x, y)` 把 x, y 两点间边删掉。 7. `Find(x)` 找到 x 所在的 Splay 的根节点编号。 8. `Fix(x, v)` 修改 x 的点权为 v。 9. `Split(x, y)` 提取出 x, y 间的路径,方便做区间操作。 3. `Update(x)` 在 `Access` 操作之后,递归地从上到下 `Pushdown` 更新信息。 4. `MakeRoot(x)` 使 $x$ 点成为整棵辅助树的根。 5. `Link(x, y)` 在 $x, y$ 两点间连⼀一条边。 6. `Cut(x, y)` 把 $x, y$ 两点间边删掉。 7. `Find(x)` 找到 $x$ 所在的 Splay 的根节点编号。 8. `Fix(x, v)` 修改 $x$ 的点权为 $v$。 9. `Split(x, y)` 提取出 $x, y$ 间的路径,方便做区间操作。 ### 宏定义 Loading Loading
docs/ds/lct.md +10 −10 Original line number Diff line number Diff line Loading @@ -127,21 +127,21 @@ #### Splay 系函数(不会多做解释) 1. `Get(x)` 获取 x 是父亲的哪个⼉子。 2. `Splay(x)` 通过和 Rotate 操作联动实现把 x 旋转到<font color = "red">当前 Splay 的根</font>。 3. `Rotate(x)` 将 x 向上旋转一层的操作。 1. `Get(x)` 获取 $x$ 是父亲的哪个⼉子。 2. `Splay(x)` 通过和 Rotate 操作联动实现把 $x$ 旋转到<font color = "red">当前 Splay 的根</font>。 3. `Rotate(x)` 将 $x$ 向上旋转一层的操作。 #### 新操作 1. `IsRoot(x)` 判断当前节点是否是所在 Splay 的根。 2. `Access(x)` 把从根到当前节点的所有点放在⼀条实链里,使根到它成为一条实路径,并且在同一棵 Splay 里。 3. `Update(x)` 在 Access 操作之后,递归地从上到下 Pushdown 更新信息。 4. `MakeRoot(x)` 使 x 点成为整棵辅助树的根。 5. `Link(x, y)` 在 x, y 两点间连⼀一条边。 6. `Cut(x, y)` 把 x, y 两点间边删掉。 7. `Find(x)` 找到 x 所在的 Splay 的根节点编号。 8. `Fix(x, v)` 修改 x 的点权为 v。 9. `Split(x, y)` 提取出 x, y 间的路径,方便做区间操作。 3. `Update(x)` 在 `Access` 操作之后,递归地从上到下 `Pushdown` 更新信息。 4. `MakeRoot(x)` 使 $x$ 点成为整棵辅助树的根。 5. `Link(x, y)` 在 $x, y$ 两点间连⼀一条边。 6. `Cut(x, y)` 把 $x, y$ 两点间边删掉。 7. `Find(x)` 找到 $x$ 所在的 Splay 的根节点编号。 8. `Fix(x, v)` 修改 $x$ 的点权为 $v$。 9. `Split(x, y)` 提取出 $x, y$ 间的路径,方便做区间操作。 ### 宏定义 Loading