【bzoj 1121】 激光发射器SZK 【POI2008】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TLECOCE/article/details/81291676

Description

多边形相邻边垂直,边长为整数,边平行坐标轴。要在多边形的点上放一些激光发射器和接收器。满足下列要求: 1发射器和接收器不能放置在同一点; 2发射器发出激光可以沿壁反射,最终到达一个接收器; 3发射器只能沿角平分线发射激光。求:最多可放置多少对发射器和接收器?点数4<=n<=100000

Input

第一行给出一个数字N,代表有多少个点. 下面N行,用来描述点的坐标.其值在[-1000000,1000000]

Output

最多可放置多少对发射器和接收器

Sample Input

10
1 1
3 1
3 -2
-3 -2
-3 0
-1 0
-1 -1
2 -1
2 0
1 0

Sample Output

5

对于这道题首先可以证明一道激光发射之后一定不会出现环(如果出现环就意味着激光每次碰到的都是某道墙中间的某个位置,即不会碰到拐点,那么在路径上就没有地方可以放置激光发射器),然后由于光路可逆,所以对于任意一个拐点都有且仅有一条路径与和它相对的点相连,所以答案为N/2(可以证明N一定为偶数,首先我们可以发现这个图形一定是由若干个矩形拼接而成,对于任意两个矩形拼接时,只会增加0或2个拐点(如下图),由于原图可以由一个矩形(有4个拐点)依次与若干个矩形拼接(每次增加0或2个),所以若原图合法,则N一定为偶数)。

 

展开阅读全文

没有更多推荐了,返回首页