随笔分类 -  图论算法——最小生成树算法

摘要:用到一个结论——[先建树,再给每个非树边一个权值,每个树边的权值为覆盖他的非树边的权值的异或和,然后如果给出的边存在一个非空子集异或和为0则不连通,否则连通](必须保证每条边的出现和消失只能由自己产生,即一个边不能由其他其他边异或得到,这就是我们随机化边权的原因) 证明:(前置性质:I.只割非树边一 阅读全文
posted @ 2018-01-29 21:20 TS_Hugh 阅读(306) 评论(0) 推荐(0) 编辑
摘要:首先让我们来介绍Krukal算法,他是一种用来求解最小生成树问题的算法,首先把边按边权排序,然后贪心得从最小开始往大里取,只要那个边的两端点暂时还没有在一个联通块里,我们就把他相连,只要这个图里存在最小生成树我们就一定可以找到他。(证明:首先如果我们没有选最小的边,那么他一定可以踢掉其他的边来使生成 阅读全文
posted @ 2017-10-12 20:06 TS_Hugh 阅读(336) 评论(0) 推荐(0) 编辑
摘要:这题真刺激...... I.关于Kruskal重构树,我只能开门了,不过补充一下那玩意还是一棵满二叉树。(看一下内容之前请先进门坐一坐) II.原来只是用树上倍增求Lca,但其实树上倍增是一种方法,Lca只是他的一种应用,他可以搞各种树上问题,树上倍增一般都会用到f数组。 |||.我们跑出来dfs序 阅读全文
posted @ 2017-08-01 21:37 TS_Hugh 阅读(218) 评论(0) 推荐(0) 编辑
摘要:性质:我们把最小生成树建出来,如果其距离符合那么就是对的,不符合就是错的 因为这是个n^2的图所以不能Kruskal只能Prim 阅读全文
posted @ 2017-07-30 20:39 TS_Hugh 阅读(227) 评论(0) 推荐(0) 编辑
摘要:这道题首先可以看出答案一定是一条边,而且答案一定在最小生成树上,那么我们就可以在这个最小生成树上维护他与异色儿子的边最小值,所以我们就可以已通过Kruskal和一棵平衡树来解决,时间复杂度是O(n*logn)级别的但是那个大常数..........然后在最外面独立一棵权值线段树来存最终答案..... 阅读全文
posted @ 2017-07-12 06:25 TS_Hugh 阅读(451) 评论(0) 推荐(0) 编辑

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