#aBC211F. [ABC211F] Rectilinear Polygons

[ABC211F] Rectilinear Polygons

AT_abc211_f [ABC211F] Rectilinear Polygons

题目描述

题目大意

给出平面的 NN 个简单多边形,对于每个多边形,其每一条边都平行于 XX 轴或 YY 轴,每一个角都为 9090 度或 270270 度,如图所示。

现在有 QQ 次询问,每次给出一个有序整数对 (X,Y)(X,Y) ,求点 (X+0.5,Y+0.5)(X+0.5,Y+0.5) 被多少个多边形覆盖。

输入格式

第一行输入一个整数 NN

后面 11N+1N+1 行,第 ii 行先输入一个整数 MiM_i ,再输入 2×Mi2\times M_i 个整数:$x_{i,1},y_{i,1},x_{i,2},y_{i,2},...,x_{i,M_i},y_{i,M_i}$ 。其相邻两点所连成的线段即为多边形的边。

接下来读入一个数 QQ 。表示询问 QQ 次。

后面 QQ 行每行有两个数 Xi,YiX_i,Y_i ,表示询问点 (Xi+0.5,Yi+0.5)(X_i+0.5,Y_i+0.5) 被多少个多边形覆盖。

输出格式

QQ 行,每一行有一个整数表示答案。

样例解释

1.如上图

2.如下图

输入输出样例 #1

输入 #1

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

输出 #1

0
2
1

输入输出样例 #2

输入 #2

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

输出 #2

0
2
1
1

说明/提示

  • 1N1051\le N \le 10^5

  • 4Mi1054\le M_i \le 10^5

  • Mi,i[1,N],Mi\forall M_i,i\isin [1,N],M_i 为偶数

  • Mi4×105\sum M_i\le 4\times 10^5

  • 0xi,j,Xi,yi,j,Yi1050\le x_{i,j},X_i,y_{i,j},Y_i \le 10^5

  • 1Q1051\le Q \le 10^5

  • 对于 j=1,3,5...Mi1j=1,3,5... M_i-1 ,都有 xi,j=xi,j+1x_{i,j}=x_{i,j+1}

  • 对于 j=2,4,6...Mij=2,4,6... M_i ,都有 yi,j=yi,j+1y_{i,j}=y_{i,j+1} (特殊的, yi,Mi=y1,1y_{i,M_i}=y_{1,1}

  • 对于任意一个给出多边形,没有重合的顶点。即若 kjk \not= j ,则 (xi,j,yi,j)(xi,k,yi,k)(x_{i,j},y_{i,j}) \not= (x_{i,k},y_{i,k})

  • 输入的所有数据均为整数。