树链剖分
_Shmily
这个作者很懒,什么都没留下…
展开
-
计蒜客----Tree(树链剖分、按位维护)
题目链接题面:题意:给定一棵树,点有点权。有以下三种操作:(1)将1−−x1--x1−−x上面的所有的点的点权都 按位或上一个数 ttt。(2)将1−−x1--x1−−x上面的所有的点的点权都 按位与上一个数 ttt。(3)询问1−−x1--x1−−x上面所有数的异或和。题解:对于1−−x1--x1−−x的处理可以使用树剖处理。对于每一位建立一棵线段树,总共是31棵线段树。线段树上维护区间中这一位为 1 的数的个数。这样对数的处理就转化为了对每一位的单独处理。对于某一位来说,对于原创 2020-08-25 11:18:43 · 127 阅读 · 0 评论 -
2020牛客暑期多校训练营(第七场) C、A National Pandemic(树链剖分)
题目链接题面:题意:给定一棵 n,n≤5e4n,n\le5e4n,n≤5e4 个节点的树,初始时节点权值均为0。有 m,m≤5e4m,m\le5e4m,m≤5e4个操作。每个操作可以:(1)选择一个中心节点 xxx,并将所有的节点 yyy 的权值加上 w−dis(x,y)w-dis(x,y)w−dis(x,y)(2)将 xxx 节点的 val(x)=min(val(x),0)val(x)=min(val(x),0)val(x)=min(val(x),0)(3)查询节点 xxx 的权值 va原创 2020-08-25 09:28:17 · 111 阅读 · 0 评论 -
P3676 小清新数据结构题 (树链剖分)
题目链接题面:题解:见注释代码:#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<vector>#define ll long long#define llu unsigned ll#defi原创 2020-08-25 08:04:02 · 102 阅读 · 0 评论 -
P3313 [SDOI2014]旅行(树链剖分)
题目链接题面:题解:树链剖分+动态开点线段树。对于每一个宗教值 ci 建立一棵线段树,查询x–y时,在c [ x ] 这棵线段树上查询。#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#define ll long long#define llu unsign原创 2020-08-25 08:03:34 · 105 阅读 · 0 评论 -
牛客----异或Tree (树链剖分)
题目链接题面:题解:树链剖分维护点x到根节点的异或前缀和,更改某一点的值视为更改某棵子树的值。询问的时候分类讨论lca即可。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<queue>#include<set>#include<vector>#d原创 2020-08-24 22:13:31 · 207 阅读 · 0 评论 -
ACM-ICPC 2018 焦作赛区网络预赛 Jiu Yuan Wants to Eat (树链剖分)
题目链接题面:有一棵根节点为1的树,初始时节点权值均为0可执行的操作:x到y路径上的节点权值全部乘以一个数zx到y路径上的节点权值全部加上一个数zx到y路径上的节点权值全部取反查询x到y路径上的节点权值和。#include<iostream>#include<cstdio>#include<cstdlib>#include<algorithm>#include<cstring>#include<cmath>原创 2020-08-24 22:13:14 · 109 阅读 · 0 评论