法律检索网站开发,wordpress无法查看站点,公司网站建设费用估计,小公司网站P6329 【模板】点分树 | 震波
这是一道模板题#xff0c;需要支持两个操作#xff0c;操作一就是单点修改点权#xff0c;操作二就是查询距离x不超过k的点权值和。
我们考虑建出点分树#xff0c;然后对于每个点维护两个数据结构#xff0c;一个处理当前分治范围到当前点…P6329 【模板】点分树 | 震波
这是一道模板题需要支持两个操作操作一就是单点修改点权操作二就是查询距离x不超过k的点权值和。
我们考虑建出点分树然后对于每个点维护两个数据结构一个处理当前分治范围到当前点的贡献一个处理当前分治范围到点分树上父亲节点的贡献然后我们就可以通过容斥来得到当前范围内的贡献了。
另外我们还需要预处理lca需要st表处理一下。
代码细节
对于预处理lca的部分代码实现比较巧妙尤其是定义getmn函数节省了很多的代码另外树状数组需要动态开所以我们就用vector处理然后resize为子树大小另外需要处理一种特殊情况就是我查询的范围已经超过了我定义的大小一定要小心有些预处理函数没有加入到主函数中这些预处理函数应该是有固定的位置的。还有一个非常非常重要的点就是BIT处理的时候一定要引用否则就不是O(1)的传址而是O(n)的传值了。