题目描述 给出一棵树和一个点对集合S,多次改变这棵树的形态.在集合中加入或删除点对,或询问集合内的每组点对之间的路径是否都经过某条给定边. 输入 输入的第一行包含一个整数 id,表示测试数据编号,如第一组数据的id=1,样例数据的 id 可以忽略.输入的第二行包含两个整数 n,m,分别表示图中的点数,以及接下来会发生的事件数,事件的定义下文中会有描述.初始时 S 为空.接下来 n−1 行,每行两个正整数 x,y,表示点 x 和点 y 之间有一条无向边.接下来 m 行,每行描述一个事件,每行的第一…
题目 维护一颗动态树,并维护一个点对集合 \(S\) . 动态查询一条边,是否被集合中所有点对构成的路径包含. \(n \le 100000, m \le 300000\) 题解 orz 前辈 毛爷爷. 一个很有意思的 trick . 如果一条边,被一条路径包含,那么两个端点分别存在与这条边对应的两个子树内. 我们就可以利用这个巧妙的性质来做了. 我们每次给两个端点异或上一个随机的权值,然后就可以每次查询这条边对应的任意一颗子树内所有点异或和 \(res\) ,如果 \(res\) 不等于前面所…
#207. 共价大爷游长沙 题意:一棵树,支持加边删边,加入点对,删除点对,询问所有点对是否经过一条边 一开始一直想在边权上做文章,或者从连通分量角度考虑,比较接近正解了,但是没想到给点对分配权值所以没做出来 题解的后两种做法说的很清楚了,我用了第二种因为我没写过lct维护子树信息 给点对分配权值后,我们只要看一条边的权值是否等于当前异或和就行了 加边删边时,把删除边\((u,v)\)的权值异或到之后\((u,v)\)的路径上,巧妙利用了异或的自反性,和wc那道xor很像 #include <i…
#207. 共价大爷游长沙 链接:http://uoj.ac/problem/207 题意:给一棵树,要求支持加边.删边.询问一条边是否被所有路径覆盖.同时路径端点集合有加入与删除操作. 想法: 考虑一个点与其父亲边是否被一条路径经过.就是该路径的一端在其子树中,另一端不在.就是其子树中一条路径的端点出现次数为奇数.随机给一条路径两端一个权值(错误概率为$\frac{n^2}{2^w}$),然后如果一个节点子树xor值等于当前路径xor值,其到父亲边就是可行的边. 然后便是LCT维护加边,删边,…
火车司机出秦川,跳蚤国王下江南,共价大爷游长沙.每个周末,勤劳的共价大爷都会开车游历长沙市. 长沙市的交通线路可以抽象成为一个 \(n\) 个点 \(n−1\) 条边的无向图,点编号为 \(1\) 到 \(n\),任意两点间均存在恰好一条路径,显然两个点之间最多也只会有一条边相连.有一个包含一些点对 \((x,y)\) 的可重集合S,共价大爷的旅行路线是这样确定的:每次他会选择 \(S\) 中的某一对点 \((x,y)\),并从 \(x\) 出发沿着唯一路径到达 \(y\) . 小L是共价大爷的…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ207.html 题解 第一次听说 LCT 还可以维护子树信息. 首先对于每一条路径 rand 一个值,分别放在两个端点上,于是询问一条边是否被所有路径的经过就变成了询问某一边所代表的子树是否包含所有路径的端点各一次.于是我求出子树 xor ,并与当前所有路径值的 xor 比较是否相同就可以判断了. 于是接下来就变成了 LCT 维护子树 xor . 考虑在 LCT 的时候,再对于每一个节点维护其虚儿子的信…
题目大意: 传送门 给一颗动态树,给出一些路径并动态修改,每次询问一条边是否被所有路径覆盖. 题解: 先%一发myy. 开始感觉不是很可做的样子,发现子树信息无论维护什么都不太对…… 然后打开题目标签……随机化…… emmmm,突然想到[bzoj 3569]DZY loves Chinese II…… 随机大法好… 给每条路径随机一个权值,然后用异或来统计子树权值和,并与全集的异或和做下比较,然后就是LCT大板子…… 板子写挂……wa了两遍……迷. 代码: #include "bits/stdc…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABHwAAAJZCAIAAABUW7XHAAAgAElEQVR4nOy93cstx5Xm2f9TXh2EOe…
有些题目,在要求支持link-cut之外,还会在线询问某个子树的信息.LCT可以通过维护虚边信息完成这个操作. 对于LCT上每个节点,维护两个两sz和si,后者维护该点所有虚儿子的信息,前者维护该点的所有信息和. 那么显然有:$si[x]=\sum sz[pson]$,$sz[x]=sz[lson]+sz[rson]+si[x]+v[x]$. 其中pson是虚儿子,lson,rson是LCT上的实儿子,v是节点本身的信息. 那么,考虑在哪些操作下需要更新这两个值. 1.access  每次将旧虚…
题目链接 题目描述 火车司机出秦川,跳蚤国王下江南,共价大爷游长沙.每个周末,勤劳的共价大爷都会开车游历长沙市. 长沙市的交通线路可以抽象成为一个 \(n\) 个点 \(n−1\) 条边的无向图,点编号为 \(1\) 到 \(n\),任意两点间均存在恰好一条路径,显然两个点之间最多也只会有一条边相连.有一个包含一些点对 \((x,y)\) 的可重集合\(S\),共价大爷的旅行路线是这样确定的:每次他会选择 \(S\) 中的某一对点 \((x,y)\),并从 \(x\) 出发沿着唯一路径到达 \(…