【NOI2015】【树链剖分】软件包管理器

【思路】 这是一道树链剖分的模板。 安装一个软件u,我们可以理解为修改从根节点到u的路径的值,即拆分路径跳重链进行修改。删除一个节点,我们可以理解为修改子树的权值,即修改[seg[u],seg[u]+size[u]-1]。当我们维护子树和以后,我们发现,答案就是操作前后整棵树的权值变化量。至此,这道题就可以做了。 代码: #include<cstdio> #include<iostream> #i
相关文章
相关标签/搜索