直角多边形
题目描述
在 xy 平面上有 N 个多边形。
每个多边形的每条边都平行于 x 轴或 y 轴,且每个内角都是 90 度或 270 度。所有多边形都是简单多边形。
第 i 个多边形有 Mi 个顶点,第 j 个顶点为 (xi,j,yi,j)。
该多边形的边是连接第 j 个顶点与第 (j+1) 个顶点的线段(这里把第 (Mi+1) 个顶点视为第 1 个顶点)。
一个多边形是简单多边形,当且仅当……
任意两条不相邻的边互不相交(既不相交也不接触)。
给定 Q 个询问。对于每个 i=1,2,…,Q,第 i 个询问如下:
在 N 个多边形中,有多少个多边形的内部包含点 (Xi+0.5,Yi+0.5)?
输入格式
输入按以下格式从标准输入给出:
N
M1
x1,1 y1,1 x1,2 y1,2 … x1,M1 y1,M1
M2
x2,1 y2,1 x2,2 y2,2 … x2,M2 y2,M2
⋮
MN
xN,1 yN,1 xN,2 yN,2 … xN,MN yN,MN
Q
X1 Y1
X2 Y2
⋮
XQ YQ
输出格式
输出 Q 行。
第 i 行应输出第 i 个询问的答案。
样例
3
4
1 2 1 4 3 4 3 2
4
2 5 2 3 5 3 5 5
4
5 6 5 5 3 5 3 6
3
1 4
2 3
4 5
0
2
1
注意,不同的多边形之间可能相交或接触。
2
4
12 3 12 5 0 5 0 3
12
1 1 1 9 10 9 10 0 4 0 4 6 6 6 6 2 8 2 8 7 2 7 2 1
4
2 6
4 4
6 3
1 8
0
2
1
1
虽然多边形都是简单多边形,但它们可能不是凸的。
数据范围
- 1≤N≤105
- 4≤Mi≤105
- 每个 Mi 都是偶数
- ∑iMi≤4×105
- 0≤xi,j,yi,j≤105
- 当 j=k 时,(xi,j,yi,j)=(xi,k,yi,k)
- 当 j=1,3,…Mi−1 时,xi,j=xi,j+1
- 当 j=2,4,…Mi 时,yi,j=yi,j+1。(规定 yi,Mi+1=yi,1)
- 给定的多边形都是简单多边形
- 1≤Q≤105
- 0≤Xi,Yi<105
- 输入均为整数