CF1891F A Growing Tree

发布时间 2023-10-31 08:53:10作者: ForgotDream

给定一棵以 \(1\) 为根的有根树,支持以下两种操作共 \(q\) 次:

  1. 加入一个点;
  2. 子树内点权加。

\(q \le 5 \times 10^5\)

最傻逼的一集,怎么会有这么简单的 d2f。

不难发现每个点存在的时间区间构成时间轴上的一段后缀,于是我们可以将所有操作离线下来,先把完整的树建出来,然后倒着处理每个操作。不难发现,处理每个点被插入的操作时该点的权值即为答案。

具体实现可以直接 DFS 序 + BIT,写树剖也不是不行。强制在线的话,还可以 LCT。

虽然这题很傻逼,但是没有场切的我才是真正的小丑。

代码不是我写的,码风估计不太一样,凑合着看吧。