随笔分类 -  最小生成树

摘要:显然可以用可持久化并查集实现。考虑更简单的做法。如果没有撤销操作,用带撤销并查集暴力模拟即可,复杂度显然可以均摊。加上撤销操作,删除操作的复杂度不再能均摊,但注意到我们在删除时就可以知道他会不会被撤销,所以遇到一个要被撤销的删除操作时,直接求出去掉k条边后的MST即可。 阅读全文
posted @ 2019-04-19 21:14 Gloid 阅读(218) 评论(0) 推荐(0)
摘要:容易想到网络流之类的东西,虽然范围看起来不太可做,不过这提供了一种想法,即将行列分别看做点。那么我们需要找一种连n+m条边的方案,使得可以从每条边中选一个点以覆盖所有点。显然每个点至少要连一条边。于是这个东西就必须是环套树森林了,并且显然其可以满足条件。现在要求的就是最小环套树森林。 求法类似kru 阅读全文
posted @ 2018-11-27 21:27 Gloid 阅读(277) 评论(0) 推荐(0)
摘要:类似于瓶颈路,满足条件的路径一定在温度的最大生成树上,那么就是一个LCT维护MST的裸题了。 阅读全文
posted @ 2018-11-13 21:33 Gloid 阅读(173) 评论(0) 推荐(0)
摘要:每次询问所获得的可以看做是两个前缀和的异或。我们只要知道任意前缀和的异或就可以得到答案了。并且显然地,如果知道了a和b的异或及a和c的异或,也就知道了b和c的异或。所以一次询问可以看做是在两点间连边,所要求的东西就是最小生成树了。 阅读全文
posted @ 2018-09-29 15:03 Gloid 阅读(119) 评论(0) 推荐(0)
摘要:暴力枚举路径中权值最小边是哪个,然后求出边权不小于它的边的最小生成树,即可保证该路径上最大值最小。暴力当然可以过,这里使用LCT维护。注意数据中有自环。 阅读全文
posted @ 2018-09-11 14:11 Gloid 阅读(230) 评论(0) 推荐(0)
摘要:首先显然可以把所有能到的点拎出来建个新图,这样第一问也就做好了。 剩下的部分似乎是一个裸的最小树形图。但显然这个东西是没什么学的必要的并且不太能跑过去。 考虑建出来的图有什么性质。可以发现如果没有高度相等的点这就是个DAG。DAG的最小树形图只需要每个点选一条最短入边即可,最优性显然。或者说是将边从 阅读全文
posted @ 2018-09-09 17:27 Gloid 阅读(168) 评论(0) 推荐(0)
摘要:考虑kruskal的过程:按边权从小到大考虑,如果这条边的两端点当前不连通则将其加入最小生成树。由此可以发现,某条边可以在最小生成树上的充要条件是其两端点无法通过边权均小于它的边连接。 那么现在我们需要删一些边使两点不连通,显然是最小割。对最小和最大分别做一次即可。 阅读全文
posted @ 2018-09-04 01:40 Gloid 阅读(124) 评论(0) 推荐(0)