【HNOI 模拟】Dual-Sim Phone

本文探讨了一类图论问题:从给定的带权有向图中选择两点,使这两点能够通过一次移动到达所有节点,并计算每个节点的费用为这两点到该节点边权的较小值。提出了一种解决方案,通过枚举度数较小的节点及其邻居来降低时间复杂度。

题目大意

给出一幅n个点m条边的带权有向图,要求从中选出两个点,记为12,使得这两个点的出边终点集合大小恰好为n,而某个点的费用为1到它边权和2到它的边权中较小值,求出费用最小值。


分析

题目意思就是找两个点,它们走一步能到所有的点,某个点的费用为两个点到它边权的较小值(没边可视为权值正无穷)。

考虑和所有点关联最少的点,它的度数最多为mn,而选出的点至少有一个来自它的邻接点集合。枚举之,枚举另外一个点,线性扫描这两个点的出边,判断即可。

考虑时间复杂度O(mnidegi)=O(m2n),似乎n较小时过不了。
然而mn那部分顶多为n,于是原时间复杂度变为O(max(mn,n)m),当n=m时有最值O(mm)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值