UOJ Logo Universal Online Judge

UOJ

#319. 【NOI2017】分身术

附件下载 统计

现在的ac程序应该靠谱。。欢迎大家hack(这个题现在标程挂了。。哪位哥哥愿意提供一下靠谱的标程呀?)

"分!身!术!" —— 小P

平面上有 n 个小P的分身。定义一组分身占领的区域为覆盖这组分身的最小凸多边形。小P能力有限,每一时刻都会有若干分身消失。但在下一时刻之前,小P会使用

"分!身!术!"

使得这些消失的分身重新出现在原来的位置。小P想知道,每一时刻分身消失后,剩下的分身占领的区域面积是多少?

输入格式

从标准输入读入数据。

输入第一行包含两个正整数 n,m,描述初始时分身的个数,和总时刻数。

接下来 n 行,第 i 行有两个整数 xi,yi ,描述第 i 个分身的位置。

接下来 m 行,每行的第一个整数 k 表示这一时刻有 k 个分身消失。接下来有 k 个非负整数 c1,c2,ck,用于生成消失的分身的编号。

生成方式如下:

设上一个时刻中,分身占领面积的两倍S。则该时刻消失的分身 p1,p2,,pk 的编号为:

pi=[(S+ci) mod n]+1

特别的,在第一个时刻,我们认为上一个时刻中, S=1 ,即:第一个时刻消失的分身 p1,p2,,pk 的编号为:

pi=[(1+ci) mod n]+1

输出格式

输出到标准输出。

按给出时刻的顺序依次输出 m 行,每行一个整数,表示该时刻剩余分身所占领区域面积的两倍

样例一

input

6 2
-1 0
-1 -1
0 -1
1 0
0 1
0 0
3 1 3 6
2 0 1

output

3
2

explanation

如下图所示:左图表示输入的6个分身的位置及它们占领的区域;中图表示第一个时刻的情形,消失的分身编号分别为 1,3,6,剩余3个点占领图中实线内部区域,占据面积的两倍为 3;右图表示第二个时刻的情形,消失的分身编号分别为 [(0+3) mod 6]+1=4 [(1+3) mod 6]+1=5

剩余的4个点占领图中实线内部区域。

样例解释

样例二

见“样例数据下载”

样例三

见“样例数据下载”

样例四

见“样例数据下载”

限制与约定

测试点编号nmk
11010n3
210001000
3
4
5100000100000=1
6
7
8
9=2
10
113
125
139
1412
1520
16100
17
18
19
20

对于所有数据,保证:

  • |xi|,|yi|108
  • 没有两个分身的坐标是完全相同的;
  • k100
  • 所有时刻的 k 之和不超过 2×106
  • 0ci2311
  • 初始时,所有的 n 个分身占据区域面积大于 0
  • 定义所有 n 个分身所占据区域的顶点集合S|S|3。在任意时刻,S 中至少存在两个未消失的分身。

时间限制:3s

空间限制:512MB

下载

样例数据下载