随笔分类 - 数据结构——树链剖分
摘要:线段树能支持什么操作呢 区间覆盖,区间加,区间乘,区间查询,单点修改,可能远远不止这些,但本人能力有限,欢迎大家指出错误,一起学习呀 对区间进行操作,我们肯定要使用懒标记 那么懒标记的下放顺序就是一个问题 我们目前需要处理3个懒标记分别记为 优先级应该是$lazy>mu
阅读全文
摘要:题目背景 SHOI2012 D2T3 题目描述 Harry Potter 新学了一种魔法:可以让改变树上的果子个数。满心欢喜的他找到了一个巨大的果树,来试验他的新法术。 这棵果树共有 N个节点,其中节点 0 是根节点,每个节点 u的父亲记为 fa[u],保证有 fa[u] < u 。初始时,这棵果树
阅读全文
摘要:现在给出将树链剖分上的边权转化为点权的方法 也就是将边权转到它下方的点去 我们通过画图可以发现,这样的话,我们会多算最近公共祖先上方的点 方法一:先不考虑的多算的部分,还按原来的方法来,在之后消除最近公共祖先的影响 我们只需要在原来的代码基础上将改成 long long
阅读全文
摘要:树的统计 思路 用线段树维护单点修改,区间查询最大值,区间和 注意 记得修改的点对应的下标在线段树上是,因为我们的线段树是按形成的 和其他的树链剖分题是一样的 注意 当查询区间最大值的时候,一定记得先把下标设成负无穷,因为我们的答案有可能是负数 代码 #include<bit
阅读全文