
并查集实现
doggyzheng
初二蒟蒻一枚
展开
-
JZOJ4880. 【NOIP2016提高A组集训第11场11.9】询问 (2017.10B组)
Description Input Output Sample Input20 4 1 10 7 5 19 7 3 12 8 11 15 12Sample Output3 想法: 其实如果我们发现ans相同的区间交不存在,或者说这个ans区间交被比ans大的区间并给覆盖的话,那么就是不合法的 于是我们二分答案判断前x个是否合法,把前x个以ans为关原创 2017-10-16 11:11:51 · 293 阅读 · 0 评论 -
Tarjan求lca
一个优秀的求2点lca的离线算法 把所有询问用前向星储存 然后当dfs到x时,如果存在一个询问(x,y)使得两个点都被访问过,那么就将y的父亲跳上去,直到不能跳为止,这个点就是它们的lca (等dfs某个点后再规定他的父亲) 否则就标记 跳父亲可用并查集的路径压缩void dfs1(int x1) { int i,y; bz[x1]=false; for (i=la原创 2017-10-25 21:10:50 · 250 阅读 · 0 评论