随笔分类 - 数据结构----并查集
摘要:首先,有一个很暴力的nk的做法,就是对每种颜色分别开棵lct来维护。 实际上,有复杂度与k无关的做法。 感觉和bzoj4025二分图那个题的区别就在于这个题是边dfs线段树边拆分区间。
阅读全文
摘要:这里的并查集是按秩合并并查集。 这种方法维护生成树的时候可以维护一个点到根的权值。 但是由于合并的时候做了一个类似换根一样的操作,因此这个权值通常只能是异或之类的。 //find-union-set int top,f[N],v[N],sz[N],sk[M]; int find(int x){ret
阅读全文
摘要:首先只有询问的话就是个WC的题,线性基+生成树搞一搞就行。 进一步,考虑如果修改操作只有加边怎么做。 好像也没有什么变化,只不过需要在线地往线性基里插入东西而已。 删边呢? 注意到线性基这个玩意是不支持删除操作的。 对于这种不好删除的的东西有种不错的解决方法,就是线段树分治。 把每个操作劈成logn
阅读全文