社区讨论
spaly竟然和splay一样快!!!!!!
P3391【模板】文艺平衡树参与者 8已保存回复 13
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 13 条
- 当前快照
- 1 份
- 快照标识符
- @mi6h0zm8
- 此快照首次捕获于
- 2025/11/20 04:44 4 个月前
- 此快照最后确认于
- 2025/11/20 05:08 4 个月前
spaly:
CPPvoid spaly(node* &o , int k)
{
pushdown(o);
int d = cmp(o , k);
if (d == 1)
k -= o -> ch[0] -> s + 1;
if (d != -1)
{
spaly(o -> ch[d] , k);
rotate(o , d ^ 1);
}
}
splay:
CPPvoid splay(node* &o , int k)
{
pushdown(o);
int d = cmp(o , k);
if (d == 1)
k -= o -> ch[0] -> s + 1;
if (d != -1)
{
node *p = o -> ch[d];
pushdown(p);
int d2 = cmp(p , k);
int k2 = k;
if (d2 == 1)
k2 -= p -> ch[0] -> s + 1;
if (d2 != -1)
{
splay(p -> ch[d2] , k2);
if (d == d2)
rotate(o , d ^ 1);
else
rotate(o -> ch[d] , d);
}
rotate(o , d ^ 1);
}
}
不可思议,匪夷所思!!!!!
是不是洛谷数据太水了
回复
共 13 条回复,欢迎继续交流。
正在加载回复...