P3179【SDOI2012 DAY1】基站建设 | |
|
问题描述
原题时限:13s
NKOJ:只测前60%数据,时限1s
Up主家终于买电脑了,但是接下来有各种问题要处理,首要解决的问题就是网络问题。他要从移动公司开始,通过一些基站来传递网络到他家。
为了简化问题,我们假设移动公司,所有的基站,up主家位于同一条直线上,他们都位于这一条直线上的某一点x,这些点不会重合。每个基站发射和接收的范围都是一个切于地面的圆,发射的半径 \(r1\) 是固定的,接收半径 \(r2\) 是可调的的。如下图:

一个点 \(i\) 如果能从另一个点 \(j\) 接收到信号( \(x[j] < x[i]\) ),必须满足 \(i\) 的接收范围与 \(j\) 的发射范围相切,并且需要付 \(\sqrt{r2[i]}\) 的额外费用。同时,启动每一个点 \(i\) 都需要费用 \(v[i]\) 。
当然一个点如果能够发射到up主家,只需要这个点的发射范围与up主家所在的竖线相切或相交即可,如下图

当然费用越少就越好咯,于是up主想要请你帮他的忙。
输入格式
第一行两个整数 \(n,m\) ,表示基站个数(包括移动公司),up主家的坐标。(保证大等于所以基站的坐标)
接下来 \(n\) 行,每行三个整数 \(x[i],r1[i],v[i]\) ,表示每个基站的坐标,发射范围以及费用。
\(x[i]\) 是按照坐标从小到大输入的,移动公司位于最小的那个坐标。
\(r[]\) 为 $1\sim n$ 的排列。
输出格式
一个实数,保留小数点后三位。
样例输入
10 33
5 4 660
10 2 2040
11 6 3207
14 5 2006
18 3 6130
19 9 3363
22 1 1265
25 8 2836
27 10 7961
29 7 9075
样例输出
3501.000
提示
数据范围:
对于20%的数据n<=2000
对于60%的数据n<=100000
对于100%的数据 n<=5*1000000,x[i],m <= 10^12,v[i] <= 10000
由于此题数据过于巨大,本OJ只提供前60%的数据,也就是n<=100000,时限和空间也做了相应修改,如需完整数据请联系管理员!