社区讨论
神奇现象求助
P3377【模板】可并堆 1参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @lz5ibclk
- 此快照首次捕获于
- 2024/07/28 19:58 2 年前
- 此快照最后确认于
- 2024/07/28 21:05 2 年前
这是一个正常的左偏树合并
CPP int merge(int x,int y){
if(!x||!y) return x|y;
if(tr[x].v>tr[y].v) swap(x,y);
tr[x].rs=merge(tr[x].rs,y);
if(tr[tr[x].ls].dist<tr[tr[x].rs].dist) swap(tr[x].ls,tr[x].rs);
tr[x].dist=tr[tr[x].rs].dist+1;
return x;
}
然而我将
tr[x].dist=tr[tr[x].rs].dist+1; 误打成了 tr[x].dist=tr[tr[x].ls].dist+1; 仍能通过且运行速度几乎无影响。由于左偏树的 dist 只影响合并时选择的子树不会影响答案所以也不会 WA,自己尝试了构造 hack 数据也没有成功,求助有无能将这种写法卡掉的数据?回复
共 0 条回复,欢迎继续交流。
正在加载回复...