[CodeChef-QTREE6]Query on a tree VI】的更多相关文章

QTREE6 - Query on a tree VI 题目描述 给你一棵\(n\)个点的树,编号\(1\)~\(n\).每个点可以是黑色,可以是白色.初始时所有点都是黑色.下面有两种操作请你操作给我们看: 0 u:询问有多少个节点v满足路径u到v上所有节点(包括)都拥有相同的颜色 1 u:翻转u的颜色 输入格式 一行一个整数\(n\) 接下来\(n-1\)行,每行两个整数表示一条边 接下来一行一个整数\(m\)表示操作次数 接下来\(m\)行,每行两个整数分别表示操作类型和被操作节点 输出格式…
题意: 一棵n个节点的树,节点有黑白两种颜色,初始均为白色.两种操作:1.更改一个节点的颜色;2.询问一个节点所处的颜色相同的联通块的大小. 思路: 1.每个节点记录仅考虑其子树时,假设其为黑色时所处的黑色联通块的大小和假设其为白色时所处的白色联通块的大小(树状数组维护). 2.查询时找到深度最小的.与该点颜色相同的且两点之间的点颜色均与这两点相同(两点可以重合)(不妨称它为最远祖先)的答案. 3.修改时应该修改该节点的父亲至最远祖先的父亲上的值. 4.用树链剖分和树状数组维护. 5.寻找最远祖…
\(\color{#0066ff}{ 题目描述 }\) 给你一棵n个点的树,编号1~n.每个点可以是黑色,可以是白色.初始时所有点都是黑色.下面有两种操作请你操作给我们看: 0 u:询问有多少个节点v满足路径u到v上所有节点(包括)都拥有相同的颜色 1 u:翻转u的颜色 \(\color{#0066ff}{输入格式}\) 一行一个整数n 接下来n-1行,每行两个整数表示一条边 接下来一行一个整数m表示操作次数 接下来m行,每行两个整数分别表示操作类型和被操作节点 \(\color{#0066ff…
题意: 给出一棵含有\(n(1 \leq n \leq 10^5)\)个节点的树,每个顶点只有两种颜色:黑色和白色. 一开始所有的点都是黑色,下面有两种共\(m(1 \leq n \leq 10^5)\)次操作: \(0 \, u\)表示查询\(u\)所在的连通块的大小,相邻两个点颜色相同则属于一个连通块. \(0 \, u\)表示翻转\(u\)的颜色,即黑点变白点,白点变黑点. 分析: 参考CodeChef上的题解 首先将这棵树剖分成轻重链. 然后我们维护两个值:\(White(u)\)和\(…
Description: 给你一棵n个点的树,编号1~n.每个点可以是黑色,可以是白色.初始时所有点都是黑色.下面有两种操作请你操作给我们看: 0 u:询问有多少个节点v满足路径u到v上所有节点(包括)都拥有相同的颜色 1 u:翻转u的颜色 Hint: \(n\le 10^5\) Solution: 这题我一开始用树剖写,然后随机数据跑得飞快,交上去被菊花图卡飞23333333 树剖正解,详见https://www.cnblogs.com/ivorysi/p/10103010.html 但是..…
洛谷题目传送门 思路分析 题意就是要维护同色连通块大小.要用LCT维护子树大小就不说了,可以看看蒟蒻的LCT总结. 至于连通块如何维护,首先肯定可以想到一个很naive的做法:直接维护同色连通块,每次更改时暴力修改父边和子边...... 来个菊花图吧!(话说我真的好弱,前几天ZJOI的时候才知道对于某点度数很大的树/图有这样的称呼,真是很形象哈23333) 既然这条路行不通,那就换一种模型吧. 这是一种高级的维护染色连通块的较为通用的模型. 感觉蒟蒻对这种模型的理解与许多巨佬有不一样的地方,在这…
题意 有操作 $0$ $u$:询问有多少个节点 $v$ 满足路径 $u$ 到 $v$ 上所有节点(包括)都拥有相同的颜色$1$ $u$:翻转 $u$ 的颜色 题解 直接用一个 $LCT$ 去暴力删边连边显然会 $T$ 那么只有两个颜色的话就可以建两棵 $LCT$ ,观察到每次单点修改颜色时其子树所包含连通块在原颜色树上与其父亲所代表连通块断开,所以可以看作断开与父节点的边(实际上是点化边的思想),那么其它常规操作即可 注意要建个虚拟节点作为根节点的父亲 注意 $0$ 操作询问的输出,详细解释有在…
题意翻译 题目描述 给你一棵n个点的树,编号1~n.每个点可以是黑色,可以是白色.初始时所有点都是黑色.下面有两种操作请你操作给我们看: 0 u:询问有多少个节点v满足路径u到v上所有节点(包括)都拥有相同的颜色 1 u:翻转u的颜色 输入格式 一行一个整数n 接下来n-1行,每行两个整数表示一条边 接下来一行一个整数m表示操作次数 接下来m行,每行两个整数分别表示操作类型和被操作节点 输出格式 对每个询问操作输出相应的结果 题解 简单来说,就是维护同色联通块的大小 干脆直接暴力linkcut好…
3637: Query on a tree VI Time Limit: 8 Sec  Memory Limit: 1024 MBSubmit: 206  Solved: 38[Submit][Status][Discuss] Description You are given a tree (an acyclic undirected connected graph) with n nodes. The tree nodes are numbered from 1 to n. Each nod…
树上连通块 不用具体距离,只询问连通块大小或者最大权值 可以类比Qtree5的方法,但是记录东西很多,例如子树有无0/1颜色等 一个trick,两个LCT分离颜色 每个颜色在边上. 仅保留连通块顶部不是相同颜色,使得断边不会被菊花图卡掉 所以内部颜色不用考虑了,专心维护子树值. 查询时候findrt,splay,右儿子即可. Qtree6 #include<bits/stdc++.h> #define reg register int #define il inline #define fi…