[HAOI2011]防线修建
A 国与 B 国的矛盾日益激化。为防止意外发生,A 国准备修建一条防线,将需要保护的城市围在防线内部。由于经费有限,A 国可能随时撤销对部分城市的保护,并希望在每次调整后得知修建防线所需的最少费用。
A 国境内的 轴是一条河流,可以作为天然防线,因此无须在河流上额外修建防线。河边有两座城市,坐标分别为 和 。其余城市的横坐标均严格大于 且严格小于 ,纵坐标均严格大于 。
A 国有一座不位于 或 的首都。河边的两座城市和首都始终需要受到保护,不会被撤销。
修建的防线由若干条线段组成,并与河流共同围住所有需要保护的城市。长度为 的防线花费为 ,因此防线的总花费等于所有需要修建的线段长度之和。
你需要处理以下两种操作:
- 撤销对第 座普通城市的保护;
- 询问保护当前所有指定城市时,修建防线所需的最少总费用。
对于每次询问,请输出对应的最少费用。
输入格式
第一行包含三个整数 ,表示两座河边城市的坐标分别为 、,首都的坐标为 。
第二行包含一个整数 ,表示除首都和两座河边城市外的普通城市数量。
接下来 行,每行包含两个整数 ,表示一座普通城市的坐标为 。这些城市按照输入顺序依次编号为 至 。
随后一行包含一个整数 ,表示操作总数。
接下来 行,每行表示一次操作,格式为以下两种之一:
1 i:撤销对第 座普通城市的保护;2:询问当前修建防线所需的最少总费用。
输出格式
对于每次询问,输出一行一个实数 ,表示修建防线所需的最少费用,保留两位小数。
样例输入
4 2 1
2
1 2
3 2
5
2
1 1
2
1 2
2
样例输出
6.47
5.84
4.47
数据范围
- ;
- ;
- ;
- 所有点的坐标均在 以内;
- 数据保证不存在重合的点。
来源与许可
本题为 HAOI 2011 试题「防线修建」,题面与测试数据整理自 BZOJ 2300。
样例 1
输入
4 2 1
2
1 2
3 2
5
2
1 1
2
1 2
2
输出
6.47
5.84
4.47