题目大意:
一个$n(n\le10^5)$个顶点的格点多边形,每条边平行于网格线,每个角度数均为$90^\circ$或$270^\circ$,周长小于$3\times10^5$,每个顶点可以安装激光发射器或接收器,发射(接收)器可以发射(接收)一条向多边形内部的、与网格线成$45^\circ$夹角的射线,射线会在多边形边上发生镜面反射,直到被某个接收器接收。求任意一种发射器与接收器的配对方案。
思路:
BZOJ上只要求求出发射器的个数,答案显然就是$\frac n2$。原题需要输出方案,考虑任意一条与网格线成$45^\circ$的斜线上,对于所有点$(x,y)$,$x+y$或$x-y$一定是相等的,由于多边形周长有限,可以预处理出周长上的所有整点,对于$x+y$和$x-y$相等的点排序,暴力模拟镜面反射的过程即可。
1 #include