这题Dancing Links写的好纠结,二分写挂了一次。
这题的思路是预处理出所有点对的距离,然后进行对半径二分,跑重复覆盖即可。
注意二分的时候不能对距离二分,那样会超时,我们考虑极限情况,也就是消防队恰好可以到达某一房子,也就是距离相等时的情况,这样,我们就维护一个que数组表示可以选到的距离,对此进行二分。
我的代码:
本文介绍了一种使用DancingLinks算法解决消防站选址问题的方法。通过预处理计算城市中各点之间的距离,并采用二分搜索确定最佳覆盖半径,确保每个房屋都能被至少一个消防站覆盖。文章详细阐述了算法实现细节。
这题Dancing Links写的好纠结,二分写挂了一次。
这题的思路是预处理出所有点对的距离,然后进行对半径二分,跑重复覆盖即可。
注意二分的时候不能对距离二分,那样会超时,我们考虑极限情况,也就是消防队恰好可以到达某一房子,也就是距离相等时的情况,这样,我们就维护一个que数组表示可以选到的距离,对此进行二分。
我的代码:

被折叠的 条评论
为什么被折叠?