[二分 + 2-SAT] HDU3622: Bomb Game
题意给定平面上n对点,每对点必须且只能先一个。以选出的n个点做圆,这些圆不能有公共部分。求n个圆的半径的最小值的最大值。题解我的第一道2-SAT。
容易想到二分答案,每对点的选择可以看做是一个布尔变量,真表示取第一个,假表示取第二个。根据当前二分的半径可以判断出某两个点能否同时取到。这就得到了一堆限制。然后2-SAT进行验证即可。#include<cstdio>
#include<cmath>
#
原创
2017-04-08 19:35:16 ·
406 阅读 ·
0 评论