UOJ Logo 黑暗爆炸OJ

DARKBZOJ

#3775. 点和直线

统计 下载数据

Description

你需要实现以下3种操作:
1.       平面上加入一条直线;
2.       删除一条已加入的直线;
3.       求一个点到平面上所有直线距离平方和最小,你需要输出这个最小值。

Input

第1行包含一个整数N,表示了操作数目。接下来N行操作属于下列3种格式之一:
格式1: 0 x1 y1 x2 y2 。插入直线操作,插入一条过(x1, y1), (x2, y2)的直线,保证两点不重合,坐标为实数(最多两位小数)并且绝对值不超过100。
格式2: 1 k 。删除直线操作,删除第i次插入操作所插入的直线,保证已经被删除的直线不会再被删除(即任意2次操作k值均不同),并且k不大于之前插入操作的次数。
格式3: 2 。查询操作,查询所要求的最小值。

Output

输出行数等于查询操作的次数,每行输出每次查询操作所要求的最小值,保留两位小数

Sample Input

10
0 0.0 0.0 1.0 0.0
2
0 0 1 1 1
2
0 0 2 1 2
2
1 2
2
1 3
2

Sample Output

0.00
0.50
2.00
2.00
0.00

Hint

对于100%的数据,N ≤ 120000。

Source