【HNOI 模拟】Dual-Sim Phone

题目大意

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

分析

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

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

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

你可能感兴趣的:(【HNOI 模拟】Dual-Sim Phone)