CF989D

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

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

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

原题链接

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

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

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

贺图一张form here

 

 

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

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

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

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

代码:null

 

posted @ 2019-01-03 20:59  stepsys  阅读(161)  评论(0编辑  收藏  举报

*/