Processing math: 100%

随笔分类 -  最小生成树

摘要:传送门 经典的最小生成树模型 建一个点 0 ,向所有其他点 x 连一条边权为 c[x] 的边,其他任意两点之间连边,边权为 (ki+kj)(|xixj|+|yiyj|) 然后用 prim 求个最小生成树即可, 阅读全文
posted @ 2019-11-02 14:00 LLTYYC 阅读(272) 评论(0) 推荐(0) 编辑
摘要:传送门 考虑先不管限制跑一遍 Kruscal 如果白色边少了,说明白边相对权值比较大 如果白色边多了,说明白边相对权值比较小 发现如果给白边适当改变一点权值,就可以使得白边选择的数量改变 考虑二分一个偏移量 mid 每次给所有白边加上 mid 后跑一遍 Kruscal 看看白边是多了 阅读全文
posted @ 2019-05-02 13:05 LLTYYC 阅读(154) 评论(0) 推荐(0) 编辑
摘要:传送门 如果一条边只要考虑 a 的限制,那么显然最小生成树 但是现在有 a,b 两个限制,所以考虑按 a 从小到大枚举边,动态维护 b 的最小生成树 考虑新加入的一条边 x,y ,如果 x,y 不在一颗树上显然直接加入,如果在一棵树上,考虑原本树上 xy 的路径 阅读全文
posted @ 2019-03-23 16:20 LLTYYC 阅读(190) 评论(0) 推荐(0) 编辑
摘要:传送门 考虑前缀异或和 b[i] 如果知道每个 b[i] 就相当于知道所有数 初始知道 b[0],每次操作 l,r 就是求出 b[l1] xor b[r] 考虑转化成图论模型,把 b[i] 看成点(包括 b[0]),每次操作相当于把两个点 b[l1],b[r] 阅读全文
posted @ 2019-03-17 20:05 LLTYYC 阅读(197) 评论(0) 推荐(0) 编辑
摘要:传送门 如果没有挖井只是联通所有点就是最小生成树 但是有挖井,我们需要转换一下 把挖井操作看成 0 号点连一条边过去 然后还是最小生成树.. 因为是稠密图,所以用 prim 算法来求最小生成树 阅读全文
posted @ 2018-10-26 09:55 LLTYYC 阅读(155) 评论(0) 推荐(0) 编辑
摘要:传送门 正解矩阵树 不会 显然最小生成树每个长度的边的数量是不变的 而且题目说:具有相同权值的边不会超过10条。 暴力 dfs 枚举所有相同长度的边,看看有多少种方案 然后就过了 代码: 阅读全文
posted @ 2018-09-28 21:36 LLTYYC 阅读(209) 评论(0) 推荐(0) 编辑
摘要:传送门 算法:最大生成树 & LCA 题目要求两点之间最小边权 的最大值.. 就是两点之间有多条路径,每条路径有一个 最小边权 要找到最大的 最小边权 考虑kruskal算法的过程 如果我们每次把能使图两个块联通的最大的边加入图中 那么最终出来的图就称为最大生成树 显然 在最大生成树中,两点之间的路 阅读全文
posted @ 2018-08-25 15:35 LLTYYC 阅读(226) 评论(1) 推荐(1) 编辑

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