P2146 [NOI2015]软件包管理器

醉酒当歌 提交于 2019-11-30 18:20:41

P2146 [NOI2015]软件包管理器

树剖板子题

subtask1:install x:将x->1路径上的点区间覆盖为1,输出t[1].sum-last

subtask2 :uninstall x:将x的子树区间覆盖成0,输出last-t[1].sum

在代码实现的时候需注意:tag.add必须赋为-1,0是会WA的

小技巧 每次记录last,用区间和的思想,每次操作之前记录一下t[1].sum的值,更新之后再查询一遍t[1].sum的值,两者之差的绝对值则为答案。

  • 注意存点时下标+1,query的时候也要把query的点+1!!!!
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!