AC后的疑问

CF666E Forensic Examination

你这个我觉得应该是你合并的时候要新建一个根,而不是直接把y合并到x上去
by Rikka__ @ 2022-04-01 20:20:59


@[蒟蒻君HJT](/user/131591) 一直WA在WA在Test 2 line19,应该是4 1而输出了3 1.和@[Caicz](/user/224229) 是一样的错误,但我写的传参版本也是新开了结点记录答案的。
by 蒟蒻君HJT @ 2022-04-01 20:21:07


毕竟你还是之后还是需要x或者y的信息的
by Rikka__ @ 2022-04-01 20:21:49


但是你传参的话,是把x的信息改变了吧
by Rikka__ @ 2022-04-01 20:22:37


@[Rikka__](/user/106103) 传参版本也是新建了根的吧?你可以看一下前几行
by 蒟蒻君HJT @ 2022-04-01 20:22:53


可以看一下你dfs/基数排序 里面的合并代码么![](//图.tk/0)
by Rikka__ @ 2022-04-01 20:24:32


@[Rikka__](/user/106103) 您这样说我好像突然明白了,问题出在这两行: ```cpp merge(tree[x].ls,tree[y].ls,l,mid); merge(tree[x].rs,tree[y].rs,mid+1,r); ``` 这是把原来信息改掉了。。。 thx!
by 蒟蒻君HJT @ 2022-04-01 20:24:57


![](//图.tk/0)
by Rikka__ @ 2022-04-01 20:25:11


或者应该说这里: ```cpp merge(tree[x].ls,tree[y].ls,l,mid); merge(tree[x].rs,tree[y].rs,mid+1,r); ``` 并不是修改了什么不应该修改的东西,而是没有正确维护新的节点的ls和rs
by 蒟蒻君HJT @ 2022-04-01 20:34:43


@[蒟蒻君HJT](/user/131591) @[Rikka__](/user/106103) 能问一下为什么不能直接覆盖到x上吗?
by Azote @ 2023-12-22 11:38:43


| 下一页