首页 > 其他分享 >树上差分

树上差分

时间:2022-11-21 12:27:23浏览次数:66  
标签:int 差分 ++ LCA diff 树上

title: 树上差分
date: 2022-11-15 10:30:06
tags: 算法

本文章遵守知识共享协议 CC-BY-NC-SA ,转载时需要署名,推荐在我的个人博客阅读。

树上点差分

问题描述:给定一个有n个点的树,所有节点的权值初始时都为0.有k次操作,每次指定两个点S,T,将S,T路径上的所有点权值+1,求操作完后所有点的值。

前置知识

树上差分图示

void treePointSequnenseAdd(int S,int T){
    diff[S]++;
    diff[T]++;
    int LCA = queryLCA(S,T);
    diff[LCA]--;
    diff[fa[LCA][0]]--;
}

树上边差分

概念:边权化点
边权化点:边权被转化成该点到父亲的连线
diff[i]代表ifa[i][0](父亲节点)的边权差分。

void treeLineSequnenseAdd(int S,int T){
    diff[S]++;
    diff[T]++;
    diff[LCA]-=2;
}

标签:int,差分,++,LCA,diff,树上
From: https://www.cnblogs.com/rickyxrc/p/16911031.html

相关文章

  • 1732. 找到最高海拔 ----- 简单模拟、差分数组前缀和
    有一个自行车手打算进行一场公路骑行,这条路线总共由 n+1 个不同海拔的点组成。自行车手从海拔为0 的点 0 开始骑行。给你一个长度为n 的整数数组 gain ,其中g......
  • 树上差分总结
    用途(差分)它可以维护多次对序列的一个区间加上一个数,并在最后询问某一位的数或是多次询问某一位的数。(总之修改操作一定要在查询操作之前)修改的时间复杂度是\(O(1)\),而......
  • 方差分析——双因素方差分析(R语言)
    双因素方差分析(Doublefactorvarianceanalysis)有两种类型:一个是无交互作用的双因素方差分析,它假定因素A和因素B的效应之间是相互独立的,不存在相互关系;另一个是有交互作......
  • 方差分析——正交表(一)(R语言)
    正交试验设计(orthogonaldesign简称正交设计(orthoplan),是利用正交表(orthogonaltable)科学地安排与分析多因素试验的方法,是最常用的试验设计之一。正交表是一种特殊的表格,内......
  • 方差分析—单因素方差分析(R语言)
    方差分析是由英国著名统计学家:R.A.Fisher推导,也叫F检验,用于多个样本间均数的比较(分析类别变量(有序变量))。当包含的因子是解释变量时,关注的重点通常会从预测转向组别差异......
  • 差分数组
    目录简介差分数组性质总结差分数组工具类应用应用1:Leetcode.1109题目题目分析代码实现应用2:Leetcode.370题目题目分析代码实现应用3:Leetcode.1094题目题目分析代码实现简......
  • 树上启发式合并
    树上启发式合并,DSUOnTree,静态链分治,用于求解支持离线的树上子树查询问题。暴力做法,每次做完一棵树就要把它清空,避免对它兄弟造成影响,但是做到它的祖先时又会重新对它做......
  • #yyds干货盘点# 动态规划专题:二维差分
    1.简述:描述给你一个n行m列的矩阵,下标从1开始。接下来有q次操作,每次操作输入5个参数x1,y1,x2,y2,k表示把以(x1,y1)为左上角,(x2,y2)为右下角的子矩阵的每个元素都加上k,......
  • 树上背包(注意事项)
    第一维从大的开始枚举第二位从小的开始枚举也可以统计大小从而剪枝voiddfs(intnow){if(w2[now]>m)return;f[now][w2[now]]=v2[now];for(inti=h2[now......
  • 差分约束系统
    一般常用SPFA对于求最大值当然要跑最短路每个不等式转化为a-b<=x连边b->a,val=xdis[a]>dis[b]+x才能松弛为dis[a]<=dis[b]+x当求最小值时就跑最长路每个不等式转......