#AT2171. G - Intersection of Polygons

G - Intersection of Polygons

当前没有测试数据。

G - 多边形的交集

得分:600600

问题描述

在一个二维直角坐标系中,给定一个凸多边形PPNN个顶点(x1,y1),(x2,y2),,(xN,yN)(x_1, y_1), (x_2, y_2), \ldots, (x_N, y_N)。(这里,xx轴的正方向是向右的,yy轴的正方向是向上的)

基于多边形PP,我们考虑MM个凸多边形P1,P2,,PMP_1, P_2, \ldots, P_M

对于i=1,2,,Mi = 1, 2, \ldots, M,多边形PiP_i是通过将PPxx轴的正方向平移uiu_i,向yy轴的正方向平移viv_i得到的。换句话说,PiP_i的顶点是$(x_1+u_i, y_1+v_i), (x_2+u_i, y_2+v_i), \ldots, (x_N+u_i, y_N+v_i)$。

对于每一个点(a1,b1),(a2,b2),,(aQ,bQ)(a_1, b_1), (a_2, b_2), \ldots, (a_Q, b_Q),判断是否“点同时位于所有的MM个多边形P1,P2,,PMP_1, P_2, \ldots, P_M中”。这里,如果点在多边形的边界上,也视为点在多边形中。

约束条件

  • 3N503 \leq N \leq 50
  • 1M2×1051 \leq M \leq 2 \times 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 108xi,yi108-10^8 \leq x_i, y_i \leq 10^8
  • 108ui,vi108-10^8 \leq u_i, v_i \leq 10^8
  • 108ai,bi108-10^8 \leq a_i, b_i \leq 10^8
  • 输入中的所有值均为整数
  • (x1,y1),(x2,y2),,(xN,yN)(x_1, y_1), (x_2, y_2), \ldots, (x_N, y_N)按逆时针顺序排列构成了凸NN边形
  • 多边形PP的每个内角小于180180

输入

从标准输入读入数据,数据格式如下:

NN

x1x_1 y1y_1

x2x_2 y2y_2

\vdots

xNx_N yNy_N

MM

u1u_1 v1v_1

u2u_2 v2v_2

\vdots

uMu_M vMv_M

QQ

a1a_1 b1b_1

a2a_2 b2b_2

\vdots

aQa_Q bQb_Q

输出

输出QQ行。对于i=1,2,,Qi = 1, 2, \ldots, Q,第ii行输出Yes表示点(ai,bi)(a_i, b_i)同时位于所有的MM个多边形P1,P2,,PMP_1, P_2, \ldots, P_M中,输出No表示没有。

样例解释

多边形PP是一个五边形,它的顶点是(2,3),(0,2),(1,0),(0,2),(2,1)(-2, -3), (0, -2), (1, 0), (0, 2), (-2, 1)

  • 多边形P1P_1是将PPxx轴的正方向平移00个单位,向yy轴的正方向平移11个单位得到的多边形,它的顶点是(2,2),(0,1),(1,1),(0,3),(2,2)(-2, -2), (0, -1), (1, 1), (0, 3), (-2, 2)
  • 多边形P2P_2是将PPxx轴的正方向平移11个单位,向yy轴的正方向平移00个单位得到的多边形,它的顶点是(1,3),(1,2),(2,0),(1,2),(1,1)(-1, -3), (1, -2), (2, 0), (1, 2), (-1, 1)

所以应该输出以下66行:

  • 第一行输出Yes,因为(a1,b1)=(0,0)(a_1, b_1) = (0, 0)同时位于P1P_1P2P_2中。
  • 第二行输出No,因为(a2,b2)=(1,0)(a_2, b_2) = (1, 0)只位于P2P_2中,不在P1P_1中。
  • 第三行输出Yes,因为(a3,b3)=(0,1)(a_3, b_3) = (0, 1)同时位于P1P_1P2P_2中。
  • 第四行输出Yes,因为(a4,b4)=(1,1)(a_4, b_4) = (1, 1)同时位于P1P_1P2P_2中。
  • 第五行输出Yes,因为(a5,b5)=(1,1)(a_5, b_5) = (-1, -1)同时位于P1P_1P2P_2中。
  • 第六行输出No,因为(a6,b6)=(1,2)(a_6, b_6) = (-1, -2)只位于P2P_2中,不在P1P_1中。

注意:一个处于多边形边界上的点也被视为在多边形内。