Loading

普及

如果你 不幸 点进来了那就别走了。
给我一分钟,我将讲懂 ETT

首先,有个喜闻乐见的东西叫欧拉序。
如果忘了建议想一想 \(LCA\) 问题是怎么转化成 \(RMQ\) 的。
现在,我们对着一棵树跑 \(DFS\),然后每次经过 一条边或一个点 就把这个东西放到序列末尾。
但是注意一个点只放进去一次,就是进入的时候。
然后得到的序列就是欧拉序了。

现在我们考虑如何用这个东西进行奇妙操作。

  1. 换根。我们发现欧拉序是一个环,所以直接把序列的前半部分扔到后面。
  2. 连边。考虑直接把其中一棵树的 \(DFN\) 序割开,把第二颗树的 \(DFN\) 序放进去,然后再加上两个边。
  3. 删边。同理。

上面这些用 fhq treap 可以轻松维护。
好了你现在已经学会 ETT 了。

说是这么说,实际打起来其实需要考虑的还不少。

然后一些其他操作,比如维护子树信息,就直接转成序列操作。


本来想用一个下午的时间学一样东西来着。
然后发现根本没东西。
今天接着摆。

posted @ 2023-02-22 18:01  hzoi_Sakura  阅读(58)  评论(5编辑  收藏  举报