E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
------树上差分
蓝桥杯2023年-砍树(dfs,
树上差分
)
题目描述给定一棵由n个结点组成的树以及m个不重复的无序数对(a1,b1),(a2,b2),...,(am,bm),其中ai互不相同,bi互不相同,ai≠bj(1≤i,j≤m)。小明想知道是否能够选择一条树上的边砍断,使得对于每个(ai,bi)满足ai和bi不连通,如果可以则输出应该断掉的边的编号(编号按输入顺序从1开始),否则输出-1.思路朴素做法:时间复杂度:O(n²)由于这是一颗树,所以任意两
呆鱼敲代码
·
2024-03-14 11:06
蓝桥杯
蓝桥杯
深度优先
【学习笔记】
树上差分
总结(点差分/边差分)
一.
树上差分
的基本概念1.
树上差分
的定义
树上差分
,顾名思义,意思就是在树上做差分。至于什么是差分呢?
伟大的拜线段树jjh
·
2024-02-05 06:45
学习
笔记
算法
c++
深度优先
闇の連鎖(
树上差分
,LCA)
352.闇の連鎖-AcWing题库传说中的暗之连锁被人们称为Dark。Dark是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它。经过研究,你发现Dark呈现无向图的结构,图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark有N–1条主要边,并且Dark的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark还有M条附加边。你的任务是把Dark斩为不连通的两部分。一
Landing_on_Mars
·
2024-02-02 00:11
#
最近公共祖先
数据结构
图论
【算法】闇の連鎖(
树上差分
,LCA)
题目传说中的暗之连锁被人们称为Dark。Dark是人类内心的黑暗的产物,古今中外的勇者们都试图打倒它。经过研究,你发现Dark呈现无向图的结构,图中有N个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark有N–1条主要边,并且Dark的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark还有M条附加边。你的任务是把Dark斩为不连通的两部分。一开始Dark的附加边都处于无敌
一只大黄猫
·
2024-01-29 15:08
算法
算法
数据结构
LCA
c++
图论
树上差分
[蓝桥杯]真题讲解:砍树(DFS遍历、图的存储、
树上差分
与LCA)
[蓝桥杯]真题讲解:砍树(DFS遍历、图的存储、
树上差分
与LCA一、视频讲解二、暴力代码三、正解代码一、视频讲解视频讲解二、暴力代码#include#defineintlonglongusingnamespacestd
Turing_Sheep
·
2024-01-26 17:02
备战蓝桥杯
#
搜索与图论题目
蓝桥杯
深度优先
职场和发展
P3128 [USACO15DEC] Max Flow P(
树上差分
)
FJ给他的牛棚的N个隔间之间安装了N−1根管道,隔间编号从1到N。所有隔间都被管道连通了。FJ有K条运输牛奶的路线,第i条路线从隔间si运输到隔间ti。一条运输路线会给它的两个端点处的隔间以及中间途径的所有隔间带来一个单位的运输压力,你需要计算压力最大的隔间的压力是多少。第一行输入两个整数N和K。接下来N−1行每行输入两个整数x和y,其中x=y。表示一根在牛棚x和y之间的管道。接下来K行每行两个整
不给糖吃就胡闹
·
2024-01-21 01:18
树
算法
数据结构
【Network POJ-3417】 (DFS | TARJAN| LCA |
树上差分
)
传送门题目大意:给定无根树,N个节点,N-1条树边,和M条“附加边”;删除一条树边和一条附加边使图不再连通,求总方案数;/**NetworkPOJ3417*/#include#include#includeconstexprintNN{(int)(1e5)+1},MM{(int)(1e5)0;add(u,v),add(v,u))scanf("%d%d",&u,&v);(void)tarjan(1,
XNB's Not a Beginner
·
2024-01-16 19:14
深度优先
算法
【Acwing并查集】238. 银河英雄传说
238.银河英雄传说-AcWing题库题意:思路:并查集维护两个信息:每个连通块的size和每个结点之间的距离对于连通块的size,只需要在合并的时候维护一下就好了对于每个结点之间的距离,我们考虑类似于
树上差分
的思想
lamentropetion
·
2024-01-09 17:20
并查集
算法
c++
数据结构
[蓝桥杯学习]
树上差分
差分前缀和sum_i=sum_i-1+a_i差分diff_i=a_i-a_i-1差分的好处点的差分问题引入解决问题要用到差分的思想,每次从叶子向上的回溯,会让父结点+=子结点的cnt值,但是仅仅这样,还不行回溯的过程中,LCA被加了两次,要减去一,LCA的父结点原本应该没有数值的,但是因为会加上LCA的值,所以会多1,要减去。此上操作,便实现了,只是把st两个结点的值赋一,便将s到t路径上的点经过
Waldeinsamkeit41
·
2024-01-05 11:12
蓝桥杯
学习
树上差分
(砍树)蓝桥杯
#includeusingnamespacestd;intn,m,tot=0,a,b,ans=0;constintN=1e6+10;intvis[N]={0},fa[N]={0},F[N]={0};intver[N]={0},Next[N]={0},edge[N]={0},head[N]={0};map,int>Pos;vectorquery[N];voidadd(intx,inty,intz){
m0_67605338
·
2023-11-29 03:14
c++
算法
图论
蓝桥杯题单day3【题目】
拓扑排序[2017年蓝桥杯国赛]发现环LCA与
树上差分
砍树景区导游最短路及其应用[模板]Dijkstra?
Hytidel
·
2023-11-29 03:38
蓝桥杯
【蓝桥杯】砍树(
树上差分
)
考察知识点:
树上差分
问题描述给定一棵由n个节点组成的树以及m个不重复的无序数对(a1,b1)(a2,b2)(a3,b3)......(am,bm),其中ai互不相同,bi互不相同。
一只大黄猫
·
2023-11-19 07:30
蓝桥杯
蓝桥杯
算法
职场和发展
[Luogu 3128] USACO15DEC Max Flow
对于每两个点SandT,求一下LCA顺便
树上差分
,最后求差分数组的前缀和并找出最大值输出就行了。(PS:最近考前训练不开C++11,所以如果看见我写了奇怪的define请自动无视QAQ!)
weixin_30521649
·
2023-11-04 17:17
c/c++
每日一题 P3128 [USACO15DEC]Max Flow P LCA倍增 lazy离线处理做法
本题可以用
树上差分
来做,也非常方便,但是当时看到这题第一反应就是这种标记做法,于是就这么写出来了。常规的求倍增lca就不说了,主要是每条路径上面所有的点的值都需要+1。
GreyKa
·
2023-11-04 17:40
算法竞赛每日一题
算法
数据结构
P3128 [USACO15DEC] Max Flow P
Portal.
树上差分
。这里要用的是边差分。对于一条路径s→ts\rightarrowts→t,我们把ss,sts_s,s_tss,st加一,代表到s,ts,ts,t的路径上的隔间压力都加111。
拧错位置的螺丝钉
·
2023-11-04 17:38
题解
差分
洛谷P1600 天天爱跑步
本文对lca不作讲解,重点讲解如何
树上差分
及用桶的思想求出答案。【要点一】对于观察员p,如果他位于一条起点、终点分别为si,ti的跑步路径上,如何判断选手i可以被观察员p看到?1
www.sqyoj.club
·
2023-10-01 09:27
【图论】
树上差分
(边差分)
一.简介其实点差分和边差分区别不大。点差分中,d数组存储的是树上的节点边差分中,d数组存储的是当前节点到父节点的那条边的差分值。指定注意的是:边差分中因为根连的父节点是虚点,所以遍历结果时应当忽略!二.题目样例输入:4112231434样例输出:3三.题目分析我们易知:加上一条边时,相当于把所经过的节点都加了一条命。(这时用差分快一些)(为了方便,我们令边的权值为-1时,才算断掉)若一条边最后还是
SY奇星
·
2023-07-30 12:42
图论
图论
算法
数据结构
【图论】
树上差分
(点差分)
所以,我们想到
树上差分
三.代码/*5103415425454543543431335541534*/#include#definemaxn500005usingnamespacestd;intn,m;inthead
SY奇星
·
2023-07-29 08:28
图论
图论
算法
[NOIP2016]天天爱跑步
则在处的观察员能观察到的号玩家当且仅当一个点在树上的贡献是连续的,可以考虑把路径拆成两条链用离线+
树上差分
统计人经过每个点的时刻。
树上差分
如何只让一段树上的链被更新呢?
frankchen03
·
2023-07-28 12:34
2023.7.19
个点,n-1条边(无环),有m次操作,每次操作给定两个点x,y和一个add,在x点到y点的简单路径上所有的边都增加addq次询问,给定x,y两个点,输出x,y之间的边权和简单路径:路径上各个顶点不重合
树上差分
炒饭加蛋挞
·
2023-07-27 04:34
算法
图论
深度优先
《算法竞赛进阶指南》------图论篇2
文章目录0x0E雨天的尾巴洛谷p4556(线段树合并+
树上差分
+树链lca)0x0FCF600ELomsatgelral(线段树合并)0x10天天爱跑步NOIP2016P1600(树链LCA和
树上差分
)
axtices
·
2023-07-25 17:26
图论
图论
算法
树上差分
与经典例题
类比于数组的差分问题的树上的差分问题,对某一条路径的点权或者边权进行频繁的全部加某个数的操作,我们结合一下lca就可以简单的解决这类问题下面是很经典的公式:树上点权差分:diff[a]++,diff[b]++,diff[lca(a,b)]--,diff[fa[lca(a,b)][0]]--;树上边权差分:先处理差分数组最后再将边权下放就行了diff[a]++,diff[b]++,diff[lca(
拉马努金的数列灬
·
2023-07-24 15:57
数据结构
算法
数据结构
浅谈
树上差分
P1引入序列上的差分,相当于树是一条链的情况。di=ai−ai−1(i≥2)d_i=a_i-a_{i-1}(i\ge2)di=ai−ai−1(i≥2)d1=a1d_1=a_1d1=a1那么对于[x,y][x,y][x,y]的区间加:dx←dx+1d_x\larrd_x+1dx←dx+1dy+1←dy+1−1d_{y+1}\larrd_{y+1}-1dy+1←dy+1−1最终值:ai=∑j=1idj
零衣贰
·
2023-06-18 07:55
学习笔记
c++
算法
开发语言
LeetCode 周赛 341 场,模拟 /
树上差分
/ Tarjan 离线 LCA / DFS
最后,被折磨了一个下午和一个大夜总算把第4题做出来了,除了新学的Tarjon离线算法,这道题还涉及到
树上差分
、前缀和、DFS、图论等基础知识,几度被
·
2023-04-20 19:10
android
(第十四届蓝桥杯真题)砍树
,我们只需要将其两点之间路径上的任意一条边删除即可,那么对于题目中所给的m个点对,我们都要将其分为两部分,那么可以这样考虑,假如删除某条边可以使得x个点对分离,那么这条边的贡献就是x,那么问题就转化为
树上差分
问题了
AC__dream
·
2023-04-20 07:40
蓝桥杯
职场和发展
树上差分
(点差分/边差分)
树上差分
一般有两种类型的题目,一种是对边进行差分,另一种就是对点进行差分。
AC__dream
·
2023-04-20 07:10
算法
网上讲的好的知识点汇总
note/1292969我自己的得吹啊[x]图论总讲(校内知识)[x]动态规划总结[x]高精度模板汇总[x]莫队总结[x]可持久化并查集总结[x]求树的直径算法[x]模拟退火学习[x]AC自动机入门[x]
树上差分
总结
weixin_30666753
·
2022-08-21 07:17
P3258 [JLOI2014]松鼠的新家【树剖+线段树、
树上差分
两种解法】
P3258[JLOI2014]松鼠的新家:https://www.luogu.com.cn/prob...树剖+线段树#include#include#include#include#definelsonnowsize[son[x]]){son[x]=j;}}}voiddfs2(intx,intt)//时间复杂度大约为O(2*m){top[x]=t;id[x]=++cnt;if(!son[x]){
·
2021-07-30 11:10
图论
LCA模板解释与
树上差分
介绍
倍增求LCA对于树上求两个节点的最小公共祖先,很明显,可以通过从这两个点一步步往上走,得到一个相同的节点,那么这个节点就是所要求的最小公共祖先了。但是,这种暴力,明显会T。那么,既然我们可以通过一步步往上爬,是不是也可以两步两步往上爬,三步三步,甚至一百步一百步呢?记得杰伦有首歌叫《蜗牛》-----我要一步一步往上爬既然有这样一种一次往上爬多步的思想在了,那么,距离一次是爬几步呢?我们发现,所有的
Love_xyh
·
2020-09-15 21:15
LCA
差分
XJOI 3363 树4/ Codeforces 739B Alyona and a tree(
树上差分
+路径倍增)
D.Alyonaandatreetimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputAlyonahasatreewithnvertices.Therootofthetreeisthevertex1.IneachvertexAlyonawroteanpositivein
weixin_30639719
·
2020-09-15 08:10
数据结构与算法
洛谷P3348 [ZJOI2016]大森林(LCT,虚点,
树上差分
)
传送门还是要膜拜一下hjt大佬啊->这里又学(抄)了一个新姿势:虚点先考虑暴力,直接从左到右link,然后T飞可以发现如果没有1操作,所有的树的结构都是一样的(即对于询问来说并没有影响)不难看出,离线先处理所有操作,再回答询问是没有问题的(因为操作只会在下面加节点,不会影响树上两点之间的距离)考虑一下1操作,假设有一个形如$1xlr$的操作,从微观上来看会有什么影响呢?先考虑第l-1棵树和第l棵树
weixin_33862514
·
2020-09-15 05:22
「JLOI2014」松鼠的新家【
树上差分
】
板子题:#include#include#include#include#include#definelllonglong#definerep(i,x,y)for(lli=(x);i=(y);i--)usingnamespacestd;constllN=3e5+5;constllInf=1e18;lln,m,pos[N],sum[N],dep[N],fa[N][20];llcnt,to[N'9'|
Yucohny
·
2020-09-14 21:07
LOJ
其他-差分
[JLOI2014]松鼠的新家【
树上差分
】
ProQwQSol很裸的一道
树上差分
,不过和往常还不太一样。根据题目中给出的ai来差分,最后肯定有点被多加了值,所以最后再跑一边去掉就好。
weixin_43061009
·
2020-09-14 21:42
树上差分
[JLOI2014]松鼠的新家
传送门
树上差分
统计一条路径上所有点的经过次数,我们通过统计边的经过次数来统计点的经过次数。差分统计的对象变为边。
quan_tum
·
2020-09-14 20:36
树上差分
[BZOJ3631]JLOI2014松鼠的新家|
树上差分
看起来是一个裸的树链剖分,其实不用那么麻烦。。给每个点一个标记表示它到root上所有点权值+多少,把每一次将一条链上权值+1的操作差分就相当于把L,R标记+1,把lca和fa[lca]标记-1,最后把标记往上传就行了。。#include#include#defineN300005usingnamespacestd;structedge{inte,xu,next;}ed[N*4];intn,i,ne
Tag_king
·
2020-09-14 18:00
BZOJ
bzoj3631 松鼠的新家[LCA][
树上差分
]
3631:[JLOI2014]松鼠的新家TimeLimit:10SecMemoryLimit:128MBSubmit:1643Solved:776[Submit][Status][Discuss]Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊
SindarDawn
·
2020-09-14 18:22
LCA
bzoj
树上差分
重写
JLOI2014 松鼠的新家 LCA+
树上差分
传送门题解:很简单,就是求树上点的差分。把从a[i]到a[i+1]的路径上的点覆盖一次,记录总覆盖次数点的差分和边的差分略有不同,不过大体思路都是差不多的,边的差分是在起点,终点tag+1,LCA处-2;而点的差分是起点,终点tag+1,LCA及其父亲tag-1。为什么?模拟一下就行了然后求个子树和.jpg注意这道题起点和终点是连在一起的,所以除了第一条之外的所有起点都要tag-1。#includ
asdf1229
·
2020-09-14 18:20
图论
LCA
树上差分
【试炼场】松鼠的新家 【
树上差分
】
传送门题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在”树“上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,…,最后到an,去参观新家。可是这样会导致维尼重复走很多房间,懒惰的维尼不停地推辞。可是松鼠告诉他,每走到一个房间
Cyan_rose
·
2020-09-14 18:48
试炼场
树上差分
树
BZOJ3631&&洛谷P3258[JLOI2014]松鼠的新家
树上差分
裸题两个目标点之间的最短路径上的房间都要放一个糖,所以用
树上差分
,然后因为从一个房间出发是不需要糖果的,所以最后输出之前要减一再输出看这里代码//ByAcerMo#include#include
AcerMo
·
2020-09-14 18:09
差分
倍增LCA
【洛谷】【lca+
树上差分
】P3258 [JLOI2014]松鼠的新家
【题目描述:】松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n(2≤n≤300000)个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在”树“上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去a1,再去a2,......,最后到an,去参观新家。可是这样会导致维尼重复走很多房间,懒惰的维尼不停地推
weixin_30294709
·
2020-09-14 17:06
P3258 [JLOI2014]松鼠的新家
题目分析:看大家清一色都是树剖+
树上差分
的做法,本弱贡献一种用树剖+线段树的思路。题意很明显每次把ui−1−>lca(ui−1,ui)−>ui路径上的点权值都+1很明显就是线段树嘛。
HT008_123
·
2020-09-14 17:45
题目分析
线段树
树剖
bzoj3631: [JLOI2014]松鼠的新家 (
树上差分
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=36313631:[JLOI2014]松鼠的新家TimeLimit:10SecMemoryLimit:128MBSubmit:2341Solved:1205[Submit][Status][Discuss]Description松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n
sega_handsome
·
2020-09-14 17:30
------树上差分
BZOJ 3631: [JLOI2014]松鼠的新家
树上差分
_LCA
BZOJ3631:[JLOI2014]松鼠的新家
树上差分
_LCACode:#include#definesetIO(s)freopen(s".in","r",stdin)#definemaxn300001usingnamespacestd
EM-LGH
·
2020-09-14 17:50
洛谷 P3258 [JLOI2014]松鼠的新家
树上差分
缘起【1】中我们学习了
树上差分
,并且a了一个裸的点差分.现在继续
树上差分
~洛谷P3258[JLOI2014]松鼠的新家分析题目描述松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接
隐语的影法師
·
2020-09-14 17:47
树上差分
洛谷
oj
【洛谷 P3258】[JLOI2014]松鼠的新家【
树上差分
+LCA】
题目描述题目松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊前来参观,并且还指定一份参观指南,他希望小熊能够按照他的指南顺序,先去a1,再去a2,……,最后到an,去参观新家。可是这样会导致重复走很多房间,懒惰的维尼不停地推辞。可是松鼠告诉他,每走到一个房间,他就可
dreamcastღ
·
2020-09-14 17:55
LCA
洛谷有题
图论
树上差分LCA
【题解】【POJ3417】暗的连锁【LCA+
树上差分
】
题目描述原题来自:POJ3417Dark是一张无向图,图中有n个节点和两类边,一类边被称为主要边,而另一类被称为附加边。Dark有条主要边,并且Dark的任意两个节点之间都存在一条只由主要边构成的路径。另外,Dark还有m条附加边。你的任务是把Dark斩为不连通的两部分。一开始Dark的附加边都处于无敌状态,你只能选择一条主要边切断。一旦你切断了一条主要边,Dark就会进入防御模式,主要边会变为无
Zbw_OIer
·
2020-09-14 06:34
差分
树上
算法
CF739B Alyona and a tree
树上差分
+倍增
题目描述:Alyona有一棵有nnn个节点的树。这棵树的根节点是111。在每个节点里,Alyona写了一个正整数,在节点iii她写了正整数aia_iai。另外,她在这棵树上的每条边上写了一个正整数(不同边上可能有不同的数)。让我们定义dist(v,u)dist(v,u)dist(v,u)作为从vvv到uuu的简单路径上的边权和。当且仅当uuu在vvv的子树中并且dist(v,u)≤audist(v
Amber_lylovely
·
2020-09-14 04:04
DP
NOIp历年真题整理解答
水平到一个层次就不用烦恼的题目文化之旅:抛去数据水的槽点,n某点所有邻居之间飞扬的小鸟:套路dpNOIp2015推销员:贪心,NOIp数据规模开始变大子串:dp+优化斗地主:记忆化搜索,复杂模拟信息传递:图论运输计划:二分+
树上差分
ModestCoder_
·
2020-09-14 00:41
学习笔记
noip
学习笔记
loj 146
数据范围1≤n,m≤1e6,−1e6≤点权≤1e61\len,m\le1e6,-1e6\le点权\le1e61≤n,m≤1e6,−1e6≤点权≤1e6解法:dfs序+
树上差分
+树状数组(题外话:树剖做这个应该非常板
新笑雨
·
2020-09-13 23:23
树状数组
dfs序
树上差分
P2680 运输计划(LCA+
树上差分
+二分)
Description公元2044年,人类进入了宇宙纪元。L国有n个星球,还有n−1条双向航道,每条航道建立在两个星球之间,这n−1条航道连通了L国的所有星球。小P掌管一家物流公司,该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从ui号星球沿最快的宇航路径飞行到vi号星球去。显然,飞船驶过一条航道是需要时间的,对于航道j,任意飞船驶过它所花费的时间为tj,并且任意两艘飞船之间不会产生
ESTHERWXY
·
2020-09-13 04:27
上一页
1
2
3
4
5
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他