
最小生成树
make_it_for_good
这个作者很懒,什么都没留下…
展开
-
bzoj 2753 [SCOI2012]滑雪与时间胶囊 最小生成树
如果这是一个拓扑图那么直接按拓扑序更新一遍就行了。 不过点权相等时会有双向边。 那么设f[i]表示权值比点i的权值小且可以从1到达的点到i的最小边权值。对于每个不同的点权,将一个权值的点放在一起处理。新建一个点,对于该权值的所有点,如果这个点的f不为inf,那么从新建的点向这个点连f[i]的边,这些边和该权值的点之间的边放在一起跑kruscal。然后把新建的点的连通块中的点和边加入答案,并用这些原创 2016-10-21 15:21:04 · 377 阅读 · 0 评论 -
3551 [ONTAK2010]Peaks加强版 kruskal重构树 可持久化线段树
名字是大爷起的。 不过这个东西好像确实很厉害的样子。。 一开始在想一个可持久化并查集+线段树合并+可持久化线段树维护根的做法。不过看到128M的内存果断选亡。。。设最初的所有点点权为0. 在kruskal的时候,每加一条边时新加一个点,两个并查集的根并到这个点上,这个点的点权是这条边的边权。 然后这个东西构成了一个堆式的结构,父节点的点权大于儿子的点权。 并且叶节点是最初的点。 两个点间原创 2017-01-06 19:32:41 · 613 阅读 · 0 评论