随笔分类 -  数据结构----并查集

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

点击右上角即可分享
微信分享提示