卫星电话

P1991 无线通讯网[最小生成树]

随声附和 提交于 2019-11-28 10:53:15
题目描述 国防部计划用无线网络连接若干个边防哨所。2 种不同的通讯技术用来搭建无线网络; 每个边防哨所都要配备无线电收发器;有一些哨所还可以增配卫星电话。 任意两个配备了一条卫星电话线路的哨所(两边都ᤕ有卫星电话)均可以通话,无论他们相距多远。而只通过无线电收发器通话的哨所之间的距离不能超过 D,这是受收发器的功率限制。收发器的功率越高,通话距离 D 会更远,但同时价格也会更贵。 收发器需要统一购买和安装,所以全部哨所只能选择安装一种型号的收发器。换句话说,每一对哨所之间的通话距离都是同一个 D。你的任务是确定收发器必须的最小通话距离 D,使得每一对哨所之间至少有一条通话路径(直接的或者间接的)。 解析 点赞最多的那篇题解提到了瓶颈生成树,个人觉得造成了一些不必要的引入和证明(当然有兴趣者可以进行学习),实际上就用联通块也可以解释得很清楚,个人感觉也没有什么问题。 那就来口胡一下 首先回顾kruskal算法求解最小生成树步骤:其运用贪心思想,每次加入最小边,直到所有点连通为止。 首先根据题意,这个图是一个完全图,我们要找一个存在限制条件的生成树。 那么对于本题,我们首先考虑没有卫星电话存在的情况,显然就是一个裸的最小生成树。我们来看加边过程的具体意义:每次加入一条没有使用过的最短边,且该边没有连接两个已经连通的哨所,那么这条边会将至少两个哨所相连。 接着我们来看一个这样的例子: