You don't need to call me |

ForgotDream

园龄:2年4个月粉丝:12关注:47

CF1891F A Growing Tree

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

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

q5×105

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

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

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

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

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

本文作者:forgot-dream

本文链接:https://www.cnblogs.com/forgot-dream/p/17799473.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   ForgotDream  阅读(37)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起