以前在NK竞赛队的时候,做过一道考试题目,并查集离线,倒着处理

这道题目是一样的,我们发现一个点只有在添加之后才会被更新,也就是只与这个点被添加的操作之后的操作有关,所以我们考虑倒着处理

接下来就变成了一个模板问题:加一个子树,查询单点

这个问题我们用dfs序解决(看到子树问题,想dfs序)

首先对原树(指加入所有点后的最终的树)进行dfs求出dfs序,然后倒序扫描操作,如果当前操作是加子树,那么我们找到\(v\)在dfs序中的对应的两个位置,把这两个位置之间的数全部加上\(x\);如果当前操作是查询单点,我们直接输出就好了(可以知道,这样不会影响最终的答案)

当然子树和问题也有可能是树上差分,别被思路局限了

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。