poj六道2-sat中的最后一道。事实上也算比较基础的,不用输出方案,只是建图的时候要多注意一些。
大意是给你两个源点,有n个点要向这两个点中的一个连边,边长为他们的曼哈顿距离,其中有的点必须连同一个源点,有的点必须连不同的源点。两个源点之间有边。给出两个源点和这n个点的坐标,要求使这n个点中任意两点之间的边长(点到源点再到点的边长)尽可能的小。
由于“最小化最长的连边”具有单调性,我们可以二分答案。每次二分时重新建图,将边长大于答案的边所连的两个点连(2-sat所成图中的)边。可行的话再向下二分,否则向上二分。
自己调了一个下午的代码老是不对,连样例都过不去。后来参考网上的题解还是不行,最后还是同机房的dalao帮忙找出了错,不止一个还一个比一个智障。。。。
放上渣代码(捂脸)