如题,拍了 100 以内几千组没有问题,一交上去只有 30 /fn
只过了两个最小点以及链的四个点
口胡的,做法和 这篇 大同小异
区别在于 extra,我是先把两条链拉起来,然后消掉相关的所有 extra 边,最后在 lca 处加上新的 extra 边。具体怎么找,就记录一个 vir_loc 表示 splay 中子树是否有点下面挂着 extra,有则记录那个点的编号。vir[x] 表示点 x 下挂着所有 extra 边。
代码:https://paste.ubuntu.com/p/SzjnV62tSt/