A93232.「NOI2017」分身术
NOI/NOI+/CTSC
NOI
通过率:0%
时间限制:3.00s
内存限制:768MB
题目描述
"分!身!术!" ——小 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)modn]+1
特别的,在第一个时刻,我们认为上一个时刻中,S=−1 ,即:第一个时刻消失的分身 p1 , p2 ,... pk 的编号为:
pi=[(−1+ci)modn]+1
输出格式
按给出时刻的顺序依次输出 m 行,每行一个整数,表示该时刻剩余分身所占领区域面积的两倍。
输入输出样例
输入#1
6 2 -1 0 -1 -1 0 -1 1 0 0 1 0 0 3 1 3 6 2 0 1
输出#1
3 2
说明/提示
对于所有数据,保证:
- ∣xi∣,∣yi∣≤108
- 没有两个分身的坐标是完全相同的;
- k≤100 ;
- 所有时刻的 k 之和不超过 2×106 ;
- 0≤ci≤231−1
- 初始时,所有的 n 个分身占据区域面积大于 0 ;
- 定义所有 n 个分身所占据区域的 顶点集合 为 S , S≥3 。在任意时刻中, S 中至少存在两个未消失的分身。
由于 64 位操作系统的指针大小为 8 字节,在 LOJ 上将空间限制扩大为 768MB。