CF989D

题意(渣翻):
在一个一维的数轴上有一堆云(长度d ,1≤d1e8)云有一个初始速度v,?{1,1})(负号意味着想数轴负方向),有一个月亮在数轴0点。

你可以钦定一个速度w0(-?max≤w0≤?max)加在所有云上。

求云的对数,使得满足每对云在过了一定时间后可以互相重叠(部分重叠即可),且重叠部分覆盖月亮。

原题链接

看复杂度是滋瓷nlogn的,看上去是二分。

让我们把你钦定的速度从云上转移到月亮上(即换参考系,云速度不变月亮速度为w0  

 以距离为横坐标,时间为纵坐标画一个二维的坐标系。

贺图一张form here

 

 

其中黄色区域(斜线斜率为 ?max/-?max)代表那个时候月亮所能到达的位置

所以如此把达成目标的条件转化为相交的部分存在黄色

然后发现交点坐标关于初始位置单调(wmax>1)(tips:这里有个贪心即贪最上面的交点)

然后sort一遍就可以二分了(建议老实打二分,扫一遍因为题目范围限制也可以用,但不太严谨)

代码:null

 

转载于:https://www.cnblogs.com/stepsys/p/10205508.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值