[HAOI2011] 防线修建
题目描述
近来A国和B国的矛盾激化,为了预防不测,A 国准备修建一条长长的防线,当然修建防线的话,肯定要把需要保护的城市修在防线内部了。
可是A国上层现在还犹豫不决,到底该把哪些城市作为保护对象呢?又由于 A 国的经费有限,所以希望你能帮忙完成如下的一个任务:
1、给出你所有的 A 国城市坐标
2、A国上层经过讨论,考虑到经济问题,决定取消对 $u$ 城市的保护,也就是说 $u$ 城市不需要在防线内了
3、A国上层询问对于剩下要保护的城市,修建防线的总经费最少是多少
你需要对每次询问作出回答。注意单位长度的防线花费为 $1$。
A 国的地形是这样的,形如下图,$x$ 轴是一条河流,相当于一条天然防线,不需要你再修建。
![](https://cdn.luogu.com.cn/upload/image_hosting/rkaw5kay.png)
A 国总是有两个城市在河边,一个点是 $(0,0)$,一个点是 $(n,0)$,其余所有点的横坐标均在 $(0,n)$ 范围内,纵坐标均大于0。
A国有一个不在 $(0,0)$ 和 $(n,0)$ 的首都。$(0,0),(n,0)$ 和首都这三个城市是一定需要保护的。
上图中,A,B,C,D,E 点为 A 国城市,且目前都要保护,那么修建的防线就会是 A-B-C-D,花费也就是线段 AB 的长度+线段 BC 的长度+线段 CD 的长度,如果,这个时候撤销 B 点的保护,那么防线变成下图
![](https://cdn.luogu.com.cn/upload/image_hosting/cd7dpmcj.png)
输入输出格式
输入格式
第一行三个整数 $n,x,y$ 分别表示河边城市和首都是 $(0,0),(n,0),(x,y)$。
第二行一个整数 $m$。
接下来 $m$ 行,每行两个整数 $a,b$ 表示 A 国的一个非首都非河边城市的坐标为 $(a,b)$。
再接下来一个整数 $q$,表示修改和询问总数。
接下来 $q$ 行每行要么形如 `1 u`,要么形如 `2`,分别表示撤销第 $u$ 个城市的保护和询问。
输出格式
对于每个询问输出一行一个实数 $v$,表示修建防线的花费,保留两位小数。
输入输出样例
输入样例 #1
4 2 1
2
1 2
3 2
5
2
1 1
2
1 2
2
输出样例 #1
6.47
5.84
4.47
说明
【数据范围】
对于 $30\%$ 的数据,$1\le m,q \le 1000$;
对于 $100\%$ 的数据,$1\le m \le 10^5$,$1\le q \le 2 \times 10^5$,$1 < n \le 10^4$。
所有点的坐标范围均在 $10^4$ 以内, 数据保证没有重点。
---
~~$\text{upd 2022.7.21}$:新增加一组 Hack 数据。~~ 该数据有误,已经被移除。