Vijos1579 宿命的PSS 题解

博客介绍了如何解决Vijos1579问题,即给定一棵树,找到边权最小的完全图,其最小生成树保持原树结构。文章提到使用Prim或Kruskal算法,通过并查集维护连通块,并对边进行排序和统计,以确保新边权不小于已知边。样例分析展示了边权替换策略,最终实现时间为O(n+m)。
摘要由CSDN通过智能技术生成

博客园同步

原题链接

简要题意:

给定一棵树,求 边权的最小的完全图,使得该完全图的最小生成树为给定的树。

首先,我们回忆一下:求 最小生成树 不外乎两个算法:

  • prim \texttt{prim} prim
  • kruskal \texttt{kruskal} kruskal

它们都是基于贪心的一种算法(只不过选边顺序略区别)。

按照它们的思想来说,每次选一个边权最小的端点属于不同连通块的连接,用并查集维护连通块 即可完成。( kruskal \texttt{kruskal} kruskal 算法)

那么,已知了最小生成树:

因为每两个顶点都有边(完全图 的定义),所以应当尽量让 新加的边与已知边接近但不低于(也不等于)当前边。

比方说样例:

那么,如果 1 → 3 1 \rightarrow 3 13 这条边 ≤ 7 \leq 7 7,那么, 2 → 3 2 \rightarrow 3 23 就可以被它替换,所以, 1 → 3 1 \rightarrow 3 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值