[SDOI2012]基站建设(斜率dp)

本文介绍了如何在一条直线上通过调整基站的接收半径来实现网络覆盖,以最小化成本。问题涉及到斜率动态规划,需要找到基站覆盖范围相切的最优方案,输出总成本并提供了样例输入和输出。
摘要由CSDN通过智能技术生成

题目描述 Description
Up主家终于买电脑了,但是接下来有各种问题要处理。首要解决的问题就是网络问题。他要从移动公司开始,通过一些基站来传递网络到他家。

为了简化问题,我们假设移动公司,所有的基站,up主家位于同一条直线上,他们都位于这一条直线上的某一点x,这些点不会重合。每个基站发射和接收的范围都是一个切于地面的圆,发射的半径r1是固定的,接收半径r2是可调的的。如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6RG2GWHt-1597154450298)(https://leanote.com/api/file/getImage?fileId=58d6f0c2ab64417b8100403f)]

一个点i如果能从另一个点j接收到信号(当且仅当x[j] < x[i]),必须满足i的接收范围与j的发射范围相切,并且需要付sqrt(r2[i])的额外费用。同时启动每一个点i都需要费用v[i].

当然一个点如果能够发射的up主家只需要这个点的发射范围与up主家所在的竖线相切或相交即可,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SZpQIW47-1597154450300)(https://leanote.com/api/file/getImage?fileId=58d6f0c2ab64417b81004040)]
当然费用越少就越好咯,于是up主想要请你帮他的忙。

输入描述 Input Description
第一行两个整数n,m.表示基站个数(包括移动公司),up主家的坐标。(保证大等于所以基站的坐标)

记下来n行,每行三个整数x[i],r1[i],v[i],表示每个基站的坐标,发射范围以及费用。

X[i]是按照坐标从小到大输入的,移动公司位于最小的那个坐标。

R为1…n的排列。

输出描述 Output Description
一个实数,保留小数点后三位。

样例输入 Sample Input
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

样例输出 Sample Output
3501.000

数据范围及提示 Data Size & Hint
对于20%的数据n<=2000

对于60%的数据n<=100000

对于100%的数据 n<=5*1000000,x[i],m <= 10^12,v[i] <= 10000


n 2 n^2 n2做法 f i = f j + v i + ( x j − x i ) / ( 2 ∗ s q r t ( r 1 i ) ) ; f_i = f_j+v_i+(x_j-x_i)/(2*sqrt(r_1i)); fi=fj+vi+(xjxi)/(2sqrt(r

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值