AT_abc251_g.[ABC251G] Intersection of Polygons
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在 xy 平面上,给定一个凸 N 边形 P,其顶点按逆时针顺序为 (x1, y1), (x2, y2), …, (xN, yN)。(其中,x 轴正方向向右,y 轴正方向向上。)
对于该多边形 P,考虑 M 个凸 N 边形 P1, P2, …, PM。
对于 i=1,2,…,M,多边形 Pi 是将多边形 P 沿 x 轴正方向平移 ui,沿 y 轴正方向平移 vi 得到的多边形。也就是说,Pi 的顶点为 (x1+ui, y1+vi), (x2+ui, y2+vi), …, (xN+ui, yN+vi)。
对于 Q 个点 (a1, b1), (a2, b2), …, (aQ, bQ),请判断每个点是否都在M 个多边形 P1, P2, …, PM 的内部或边界上。
注意,如果点在多边形的边界上,也认为该点包含在多边形内。
输入格式
输入按以下格式从标准输入读入。
N
x1 y1
x2 y2
⋮
xN yN
M
u1 v1
u2 v2
⋮
uM vM
Q
a1 b1
a2 b2
⋮
aQ bQ
输出格式
输出 Q 行。对于 i=1,2,…,Q,如果点 (ai, bi) 包含在所有 M 个多边形 P1, P2, …, PM 内(包括边界),则第 i 行输出 Yes,否则输出 No。
输入输出样例
输入#1
5 -2 -3 0 -2 1 0 0 2 -2 1 2 0 1 1 0 6 0 0 1 0 0 1 1 1 -1 -1 -1 -2
输出#1
Yes No Yes Yes Yes No
输入#2
10 45 100 -60 98 -95 62 -95 28 -78 -41 -54 -92 -8 -99 87 -94 98 23 87 91 5 -57 -40 -21 -67 25 39 -30 25 39 -20 16 4 5 -34 -8 -63 53 78 84 19 -16 64 9 -13 7 13 53 -20 4 2 -7 3 18 -12 10 -69 -93 2 9 27 64 -92 -100
输出#2
Yes Yes No No Yes No Yes No Yes Yes Yes Yes No Yes No No
说明/提示
数据范围
- 3≤N≤50
- 1≤M≤2×105
- 1≤Q≤2×105
- −108≤xi, yi≤108
- −108≤ui, vi≤108
- −108≤ai, bi≤108
- 所有输入均为整数
- (x1, y1), (x2, y2), …, (xN, yN) 按逆时针顺序构成一个凸多边形
- 多边形 P 的每个内角均小于 180 度
样例解释 1
多边形 P 是以 (−2, −3), (0, −2), (1, 0), (0, 2), (−2, 1) 为顶点的五边形。
- 多边形 P1 是将 P 沿 x 轴正方向平移 0,y 轴正方向平移 1 得到的五边形,顶点为 (−2, −2), (0, −1), (1, 1), (0, 3), (−2, 2)。
- 多边形 P2 是将 P 沿 x 轴正方向平移 1,y 轴正方向平移 0 得到的五边形,顶点为 (−1, −3), (1, −2), (2, 0), (1, 2), (−1, 1)。
因此,输出如下 6 行:
- (a1, b1)=(0,0) 包含在 P1 和 P2 内,输出
Yes。 - (a2, b2)=(1,0) 只包含在 P2 内,不包含在 P1 内,输出
No。 - (a3, b3)=(0,1) 包含在 P1 和 P2 内,输出
Yes。 - (a4, b4)=(1,1) 包含在 P1 和 P2 内,输出
Yes。 - (a5, b5)=(−1,−1) 包含在 P1 和 P2 内,输出
Yes。 - (a6, b6)=(−1,−2) 只包含在 P2 内,不包含在 P1 内,输出
No。
注意,位于多边形边界上的点也视为包含在多边形内。

由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?